반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
11-07 11:40
관리 메뉴

ImJay

ScriptManager.RegisterStartupScript, defaultbutton 사용 시 주의할 점 본문

Web/ASP.NET

ScriptManager.RegisterStartupScript, defaultbutton 사용 시 주의할 점

ImJay 2023. 11. 14. 13:35
반응형
<form runat="server" id="form1" defaultbutton="search_btn">

 

폼에 defaultbutton option 을 설정할 경우,

<script>
//<![CDATA[
theForm.oldSubmit = theForm.submit;
theForm.submit = WebForm_SaveScrollPositionSubmit;

theForm.oldOnSubmit = theForm.onsubmit;
theForm.onsubmit = WebForm_SaveScrollPositionOnSubmit;
WebForm_AutoFocus('search_btn');Sys.Application.add_init(function() {
    $create(Sys.UI._UpdateProgress, {"associatedUpdatePanelId":null,"displayAfter":0,"dynamicLayout":true}, null, null, $get("HourGlass_UpdateProgress"));
});
//]]>
</script>

 

해당 스크립트가 자동으로 추가된다.

 

ScriptManager.RegisterStartupScript(Page, typeof(Page), "Script", "SyncTab();", true);

 

따라서 위 태그를 서버에서 RegisterStartupScript 와 함께 사용할 시,

 

<script>
//<![CDATA[
SyncTab();
theForm.oldSubmit = theForm.submit;
theForm.submit = WebForm_SaveScrollPositionSubmit;

theForm.oldOnSubmit = theForm.onsubmit;
theForm.onsubmit = WebForm_SaveScrollPositionOnSubmit;
WebForm_AutoFocus('search_btn');Sys.Application.add_init(function() {
    $create(Sys.UI._UpdateProgress, {"associatedUpdatePanelId":null,"displayAfter":0,"dynamicLayout":true}, null, null, $get("HourGlass_UpdateProgress"));
});
//]]>
</script>

 

 

defaultbutton 옵션도 후위 스크립트에 추가되기 때문에, 둘이 함께 실행되어 의도치 않은 결과가 나올 수 있다.

 

webForm 에서 어? 왜 안되지? 하는 것에 99%는 UpdatePanelScriptManager 문제인듯 하다.

반응형
Comments