2014-12-04 1 views
0

Asp.net 4.0 webform 웹 응용 프로그램 ... 이 시나리오에서 내 머리를 감싸고 설명을 얻으려고 여기에 던지려고했습니다.보관 방법 레이블 스타일을 클라이언트 측에서 포스트 백 중에 설정

내 페이지에는 HTML 표가 있습니다. 셀 중 하나에서 클릭 할 때 서버 측에서 일부 기능을 수행하는 확인란이 있습니다. 이것은 제자리에 있습니다. 내가하려는 일은이 체크 박스를 클릭 할 때 컨트롤 조작 (스타일 지정, 비활성화 등)을 수행 한 다음 서버 측 호출을 계속하는 것입니다. 이이보다 더 컨트롤을 포함하도록 확장 될 것입니다하지만 난 그냥 내 옵션을 개발하기 전에 무엇인지 볼려고

<script type = "text/javascript"> 
    function HighlightControls() { 
     document.getElementById("MainContent_TdTeam").style.color = "red"; 
    } 
</script> 

<table> 
     <tr> 
      <td style="width:10%; color: #FFFFFF;">      
      </td> 
      <td style="width:15%; color: #FFFFFF;">   
      </td> 
      <td class="TdAvailable" id="TdTeam" style="width:15%; color: #FFFFFF;" align="left"> 
       Team 
      </td> 
      <td class="TdAvailable" id="TdPrimaryContact" style="width:15%; color: #FFFFFF;" align="left"> 
       Primary Contact 
      </td> 
      <td style="width:15%; color: #FFFFFF;" align="left"> 
       Status 
      </td> 
      <td style="width:15%; color: #FFFFFF;" align="left"> 
       Type 
      </td> 
     </tr> 
    <tr> 
     <td> 
      <asp:CheckBox ID="chkShowFavorites" runat="server" Text="Show Favorites" 
       ForeColor="White" OnCheckedChanged="FavCheckChange" onclick="HighlightControls()" 
       AutoPostBack="True" />     
     </td> 
    </tr> 

... 
... 
... 
</table> 

자바 스크립트 : 여기

은 snipet입니다 너무 많은.

디버깅하는 동안 레이블이 빨간색으로 표시되지만 포스트 백 이후에는 흰색으로 돌아갑니다.

클라이언트 측에서 내 스타일을 수행하고 다시 게시 한 후에 설정을 유지하려면 어떻게해야합니까?

+0

! 중요한 것은 document.getElementById ("MainContent_TdTeam")와 같은 색상을 추가 한 후입니다. style.color = "red! important"; –

답변

0

DOM 요소 (CSS 클래스, 스타일)에 대한 변경 사항은 게시 방법을 찾지 못하면 포스트 백간에 손실됩니다. 숨겨진 필드를 사용하여 elementID + 새 클래스 이름 또는 스타일을 저장할 수 있으므로 다시 게시 할 때 코드가 숨겨진 필드를 조사하고 필요한 변경을 수행 할 수 있습니다.

0

내가 생각할 수있는 유일한 점은 페이지가 다시 게시되고 클라이언트 쪽을 적용하는 것과 동일한 논리를 적용 할 때 서버 쪽에서 제어 상태를 조사하는 것입니다. 그래서 빨간색으로 변경된 셀을 선택하면 해당 확인란의 값을 확인한 다음 셀의 색을 변경하기 위해 서버 측 코드를 작성해야합니다.

그 중 하나 또는 귀하의 포스트 백을 ajax 호출로 바꿀 수 있으며 변경해야하는 양식 부분 만 업데이트 할 수 있습니까?

관련 문제