我想添加一个确认框。 以下代码显示了是/否确认框,但这不会处理验证。 如果我已将公司名称字段设为必填项,则即使我未输入公司名称,也会输入记录。
我在pageload事件中调用了这个方法:
CreateConfirmBox(btnAddEnquiry, "Do You Really Want to Add ?");
方法定义:
public void CreateConfirmBox(System.Web.UI.WebControls.Button btn, string strMessage)
{
btn.Attributes.Add("OnClick", "return confirm('" + strMessage + "');");
}
aspx文件
<asp:Button ID="btnAddEnquiry" runat="server"
BackColor="#0000FF"
ForeColor="LightSlateGray"
OnClick="btnAddEnquiry_Click"
Text="Add Enquiry" Width="154px" />
答案 0 :(得分:2)
您没有在代码中处理任何验证。
我强烈建议您使用.NET验证控件。它们很好,几乎不需要编写任何代码。
此处有更多信息; http://msdn.microsoft.com/en-us/library/bwd43d0x%28v=vs.100%29.aspx
代码示例;
<asp:TextBox ID="TextBox1" runat="server" />
<asp:RequiredFieldValidator IdD="RequiredFieldValidator2"
ControlToValidate="TextBox1"
Display="Static"
Width="100%" runat="server">
*
</asp:RequiredFieldValidator>
<asp:Button ID="btn_Save"
Text="Validate"
OnClick="btnSave_Click"
runat="server" />
如果您不想实现验证器并仅使用确认框,从而保持与当前相同的功能,则可以使用按钮的OnCientClick,如果用户单击否,将停止PostBack。
<asp:Button ID="btnAddEnquiry" runat="server"
BackColor="#0000FF"
ForeColor="LightSlateGray"
OnClick="btnAddEnquiry_Click"
OnClientClient="javascript: return confirm('Do You Really Want to Add ?');"
Text="Add Enquiry" Width="154px" />