- 設計 <asp:Button> 與一個需要驗證的 Control: 1234567891011121314
<
asp:Button
ID
=
"btnUpdate"
runat
=
"server"
Text
=
"更新"
CommandName
=
"Update"
CausesValidation
=
"false"
OnClientClick
=
"return confirmUpdate();"
ValidationGroup
=
"vgUpdate"
/>
<
asp:TextBox
ID
=
"txtUpdateName"
runat
=
"server"
Text
=
"HelloWorld"
></
asp:TextBox
>
<
asp:RequiredFieldValidator
ID
=
"UpdateNameRequired"
runat
=
"server"
ControlToValidate
=
"txtUpdateName"
ToolTip
=
"必須輸入名稱。"
ErrorMessage
=
"必須輸入名稱。"
ValidationGroup
=
"vgUpdate"
>*</
asp:RequiredFieldValidator
>
- 加入一個 OnClientClick 會呼叫到的 javascript: 12345678
function
confirmUpdate()
{
if
(Page_ClientValidate(
"vgUpdate"
))
{
return
confirm(
"確定要更新?"
);
}
return
true
;
}
- 呼叫 Page_ClientValidate("vgUpdate") 進行資料驗證, 參數就是 ValidationGroup 的值, 若不給定參數, 會呼叫第一個要驗證的 Control/ValidationGroup.
- 若 Page_ClientValidate 回傳 true, 再進行 javascript 的 confirm.
- 最後固定回傳 true. (參考下面的說明)
若 Page_ClientValidate() 驗證不過, 會自動 hold 住事件的回傳, 所以若回傳 false, 將造成下一個事件失效 (ex: 按下更新按鈕後, 再按下取消按鈕會失效, 要再多按一次取消按鈕才會生效)
呼叫 Page_ClientValidate() 後, 需固定回傳 true.
沒有留言:
張貼留言