如何給asp.net表單提交前置和後置函數

1 場景

Asp.net開發過程中,表單提交操作是最常用的一個動作。

(1)如果我們在表單提交前能有一個對錶單項進行驗證的前置動作,那麼就可以減少錯誤提交的次數(驗證提交數據是否合法,如果不合法就不提交)。

(2)如果我們在表單提交完成後在前端能觸發一個回調函數,那麼我們就可以對錶單提交後,在服務器端的執行結果進行驗證。

 

 

2 總結

(1)添加前置函數

   最簡單的添加方式:給form掛接 onsubmit方法。

   <form id="form1" runat="server" onsubmit="return validateForm()">

  注:添加的onsubmit方法必須有返回值“true”或“false”,在表單提交前,會先執行“validateForm()”方法,如果此方法返回值爲true,那麼表單正常提交,如果此方法返回值爲false,那麼表單停止提交。

  表單提交前的驗證操作,我們就可以寫在validateForm()方法裏,驗證通過返回true,正常提交。驗證不通過,返回false,停止提交。

(2)添加回調函數

  也提供最簡單的方法:在服務器端通過“ClientScript”類對象提供的靜態方法,給表單添加回調函數。

protected void ModifyLink_Click(object sender, EventArgse)

   {

        Tel400Entitytel400 = new Tel400Entity()

       { Id=txt400TelId.Text,

           Tel400 = txt400Tel.Text,

           FixTel = txtFixTel.Text,

           Remark = txtRemark.Text,

           Flag = NumberFlag.SelectedValue

       };

       boolisOk=  Tel400BLL.Update(tel400);

      ClientScript.RegisterStartupScript(this.GetType(), "ModifyJs","<script>ModifyIsOK('" +isOk.ToString() + "');</script>");

   }

上述函數爲

 <asp:LinkButton ID="btn_modify" runat="server" class="easyui-linkbutton" OnClick="ModifyLink_Click">修T改?</asp:LinkButton>富客戶端控件的後臺事件代碼。

在ClientScript.RegisterStartupScript函數中,我們把客戶端js函數"ModifyIsOk(obj)"設計成了控件click事件在前段的回調函數。

  <script type="text/javascript">

        ///修改操作表單提交後的回調函數。

        functionModifyIsOK(obj) {

            switch (obj) {

                case 'True':

                    break;

                default:

                   alert("修改失敗已經存在對應的短號");

                    break;

           }

       }

  </script>

特別強調:ClientScript.RegisterStartupScript函數添加的調用腳本在表單的最後(</form>前面),適合在頁面加載完成後執行Js代碼,"ModifyIsOK()"函數最好添加在表單控件之前,如果加載。

也可以使用ClientScript.RegisterClientScriptBlock添加回調函數,此函數會將調用腳本添加在(<form>後面),適用在頁面加載控件之前執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章