如何避免验证触发后返回时被解雇
How to avoid validation triggers being fired upon postback
具有ASPX页面。当用户单击( )添加电话号码时,它应该检查并查看是否输入了以前的号码。如果有的话,则只能动态添加另一个文本框以添加另一个电话号码等。但是,它不会在( )的印刷机上触发验证触发器,因为它允许该页面执行回发,尽管没有输入任何内容就像该页面进行后背时一样,它会触发我在其他控件上的验证和相应的错误消息。如何避免这种情况?
aspx
<tr><td class="labels">Tel. No. (XXX-XXXX) </td>
<td class="tb">
<asp:TextBox ID="PN1" runat="server" width="120px"></asp:TextBox>
<asp:ImageButton ID="ImageButtonAdd1" runat="server" ImageUrl="~/Styles/Images/add.jpg"
Height="16px" Width="23px" AlternateText="Add another Phone Number"
CausesValidation="False" Onclick="TelNum2_Click" />
<asp:RegularExpressionValidator ID="RegularExpressionValidatorPN" runat="server"
ErrorMessage="Please enter a VALID Phone Number in the format XXX-XXXX" ControlToValidate="PN1" Display="Dynamic" Font-Italic="True" ForeColor="#FF3300" Font-Bold="True" ValidationExpression="d{3}-d{4}"></asp:RegularExpressionValidator></tr>
<tr id="phoneNum2" runat="server"><td class="labels"> Tel. No 2. (XXX-XXXX)</td>
<td class="tb"><asp:TextBox ID="PN2" runat="server" Width="120px"></asp:TextBox>
<asp:ImageButton ID="ImageButtonAdd2" runat="server" ImageUrl="~/Styles/Images/add.jpg"
Height="16px" Width="23px" AlternateText="Add another Phone Number" CausesValidation="False"
Onclick="TelNum3" />
<asp:RegularExpressionValidator ID="RegularExpressionValidatorPN2" runat="server"
ErrorMessage="Please enter a VALID Phone Number in the format XXX-XXXX"
ControlToValidate="PN2" Display="Dynamic" Font-Italic="True" ForeColor="#FF3300" Font-
Bold="True" ValidationExpression="d{3}-d{4}"></asp:RegularExpressionValidator></td></tr>
<tr id="phoneNum3" runat="server"><td class="labels"> Tel. No 3. (XXX-XXXX)</td>
<td class="tb"><asp:TextBox ID="PN3" runat="server" Width="120px"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidatorPN3" runat="server"
ErrorMessage="Please enter a VALID Phone Number in the format XXX-XXXX"
ControlToValidate="PN3" Display="Dynamic" Font-Italic="True" ForeColor="#FF3300" Font-
Bold="True" ValidationExpression="d{3}-d{4}"></asp:RegularExpressionValidator></td></tr>
cs
protected void Page_Load(object sender, EventArgs e)
{
UpdatePanel1.Visible = true;
BtnNew.Visible = true;
BtnDelete.Visible = false;
BtnUpdate.Visible = false;
BtnSave.Visible = false;
BtnCancel.Visible = false;
pubvar.DisableAllControls(Page);
if (!Page.IsPostBack)
{
processAgentData.Visible = false; //area in which textboxes are displayed
phoneNum2.Visible = false;
phoneNum3.Visible = false;
}
else
{
processAgentData.Visible = true;
}
}
protected void TelNum2_Click(object sender, ImageClickEventArgs e)
{
try
{
if (PN1.Text.Trim().Length > 0)
{
phoneNum2.Visible = true;
}
else
{
phoneNum2.Visible = false;
}
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
}
protected void TelNum3(object sender, EventArgs e)
{
try
{
if (PN2.Text.Trim().Length > 0)
{
phoneNum3.Visible = true;
}
else
{
phoneNum3.Visible = false;
}
}
catch (Exception ex)
{
Console.WriteLine("{0} Exception caught.", ex);
}
}
您需要在图像按钮上设置CauseValidation = true
。
相关文章:
- 如何避免模板函数返回类型重复?
- 避免在返回当前对象时复制
- lower_bound 在 C++ STL 中返回迭代器,即使元素不存在也是如此.如何避免这种情况?
- 如何避免使用多个if-else来检查返回值是否为错误代码?
- 避免多个返回语句的方法
- 在C++11中按值返回构造的对象时,避免复制构造函数调用
- 如何避免布尔和返回它的方法之间的名称碰撞
- 如何避免将const-ref返回缓存中的临时性
- 是否可以避免使用lambda中的尾随返回型语法
- std :: getline()读取马车返回 r,如何避免
- 避免从函数返回时进行复制,而不依赖编译器优化
- 如何避免验证触发后返回时被解雇
- 如何避免在类中返回指针
- 避免通过引用返回参数
- 如何避免内存泄漏与返回常量字符*
- 在从函数返回值时使用std::move()以避免复制
- 返回指向类成员的指针 - 我应该避免它
- 如何避免在分配/返回时破坏对象
- C++11 在特定情况下避免冗余返回类型
- 返回时如何避免复制