4

我想添加一个确认框。以下代码显示了是/否确认框,但这不负责验证。如果我已将公司名称字段设为必填项,它会输入记录,即使我没有输入公司名称也是如此。

我在 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" />
4

1 回答 1

2

您没有在代码中处理任何验证。

我强烈建议您使用 .NET Validation 控件。它们很好,几乎不需要编写任何代码。

更多信息在这里; 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" />
于 2012-10-19T13:24:02.050 回答