일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 윈폼
- replace()
- DataGrid
- 단축키
- attr()
- microsoft
- 오라클
- IIS
- 프로시저
- Excel
- 엑셀
- jQuery
- 이클립스
- 자바스크립트
- 리포팅서비스
- javascript
- MSSQL
- c#
- Winform
- 윈도우
- CONVERT()
- aspnet
- 비주얼스튜디오
- oracle
- MS
- ASP
- windows
- 태그를 입력해 주세요.
- SSRS
- 마이크로소프트
- Today
- Total
DJ메탈짱™의 Free Style
[ASP.NET] Button Control 유용한 속성 (UseSubmitBehavior) 본문
1. aspx
<script type="text/javascript">
function SaveCheck() {
alert('Defalut Button Submit') ;
}
function SaveCheck2() {
alert('UseSubmitBehavior Button Not Submit') ;
}
</script>
<asp:Button ID="Button1" runat="server" Text="Default" />
<asp:Button ID="Button2" runat="server" UseSubmitBehavior="false" Text="UseSubmitBehavior" />
2. aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
Button1.Attributes.Add("onclick", "return SaveCheck();");
Button2.Attributes.Add("onclick", "return SaveCheck2();");
}
3. 결과
첫 번째 버튼 클릭시 'Defalut Button Submit' 메시지 출력후 submit 발생.
두 번째 버튼 클릭시 'UseSubmitBehavior Button Not Submit' 메시지 출력후 return false
3. 설명
첫 번째 버튼은 브라우저의 내장 폼 전송(submit) 메커니즘을 이용한다. 그러나 UseSubmitBehavior가 false이면 스크립트 함수인 '__doPostBack(...)' 를 호출해서 포스트백을 수행한다. 즉, UseSubmitBehavior의 값에 따라 Button 컨트롤의 랜더링된 태그는 다음과 같이 출력됩니다.
<input type="submit" name="Button1" value="Default" onclick="return SaveCheck();" id="Button1" />
<input type="button" name="Button2" value="UseSubmitBehavior" onclick="return SaveCheck2();__doPostBack('Button2','')" id="Button2" />
첫 번째 <input> 태그는 type이 submit이므로, 버튼이 선택되면 별도의 스크립트가 실행되지 않아도 브라우저에 의해 포스트백이 발생한다. 두 번째 <input> 태그는 type이 button이므로, 버튼이 눌렸을 때 스스로 포스트백을 일으키지 못하고 onclick 이벤트에 스크립트를 실행하는 코드가 있습니다.