asp.net OnClientClick 사용법 .net 2.0에서(aspx에서 javascript 실행시킬때)

<script type="text/javascript">
    function postCheck(frm) {
        return confirm("작성하신 내용을 추가(수정) 하시겠습니까?");
    }
</script> 

제목:<asp:Textbox ID="txtTitle" runat="server" Width="544px"
    Maxlength="50"></asp:Textbox>
 
내용:<asp:TextBox ID="txtContent" runat="server" Rows="25"
     TextMode="MultiLine" Width="544px"></asp:TextBox>
 
<asp:Button ID="btnPost" runat="server" CssClass="btn" Text="글쓰기"
OnClientClick="return postCheck(this.form);" 
OnClick="btnPost_Click" />

protected void Page_Load(object sender, EventArgs e)
{
    if(!Page.IsPostBack) {
        Response.Write("처음 실행됨");
    } else {
        Response.Write("리로드됨");
    }        
} 
protected void btnPost_Click(object sender, EventArgs e)
{                                                                                                    
    Response.Write("제목은 " + this.txtTitle.Text + 
                   " 내용은 : " + this.txtContent.Text);
}

서버로 넘기기전에 클라이언트레벨에서 체크가 필요한경우 onclientclick에서는 자바스크립을 실행하고 거기서 return true를 받게되면 onclick에서 지정한 메서드 코드비한인드 부분으로 값을 post하게 된다.

ps1 : 예제는 submit하는 예제이나 OnClientClick자체가 클라이언트에 있는 스크립터를 실행시키는 이벤트라고 보면된다. aspx파일이 아닌 html파일이라면 onclick에 해당된다.

ps2 : form태그에 onSubmit으로 걸어두 되나.닷넷의 특성상 form태그가 마스터페이지 삽입되어 있을경우를 감안 한다면 버튼이나 이미지에 거는게 낫겠다.

댓글