2014-10-15 5 views
0

ASP.NET 개발과의 긴 휴식 시간을 가졌습니다.ASP.NET - 다시 게시 후 HTML 요소의 스타일 유지

다른 요소의 onclick 함수에서 javascript 함수로 토글되는 div가 있습니다.

<div id="InsDetail" style="display: none"> 

포스트 백 이후에 div의 상태는 접힌 상태로 되돌아갑니다. 포스트 백간에이 div의 스타일을 유지하는 가장 쉬운 방법은 무엇입니까? (? viewstate가 아마도)

ASP.NET 웹 양식의 일반적인 접근 (해킹)
+0

당신을 제어 할 수 있습니다 이런 식으로 덜

영문 파일 오

더 이 문제를 해결하기 위해 JS 함수를 검사해야합니다. – Rahul

+0

전체 페이지 포스트 백 대신 jquery ajax를 시도하십시오. ScriptManager 및 ajaxpanel은 asp.net 구성 요소입니다. –

+0

UpdatePanels 사용을 고려 했습니까? –

답변

3

div의 공개 설정을 변경하면 숨겨진 필드 (컨트롤)를 사용하고 상태를 업데이트 할 수 있습니다 (예 : 1 = 보이는 0 = 숨김). 다음으로로드 페이지 이벤트에서 상태를 복원하십시오.

<input runat="server" type="hidden" class="stateDiv" id='stateDiv' /> 

JS 파일이나 페이지 :

$(function(){ 
var visibility = $(".stateDiv").val(); 
if(visibility== 1) 
    $("#InsDetail").show() 
else 
    $("#InsDetail").hide(); 

$(your_botton).click(function(){ 
//toggle div 
    if ($("#InsDetail").is(":visible")) 
    $(".stateDiv").val(1); 
    else 
    $(".stateDiv").val(0); 
}); 

}); 

당신은 또한 상태 서버 측

1

이 같은 hidden 입력 필드에 동적 클라이언트 데이터를 유지하는 것입니다

<input type="hidden" id="persistedData" value="someValue" runat="server" /> 

그럼 당신은 스타일을 설정하려면이 정보를 사용할 수 있습니다 서버에 올바르게 배치하고 포스트 백 후에 스타일을 올바르게 렌더링합니다.