【发布时间】:2012-06-27 09:04:57
【问题描述】:
我有一个TextBox,我用它来存储一个url 以应用<asp:HyperLink> 控件。我想要做的是在TextBox.Text 值为空并且用户单击保存 时关闭RequiredFieldValidator。据我所知,我的逻辑没问题,但验证器没有启动?
这是标记:
<div class="frmRow">
<div class="frmControls">
<asp:Label ID="lblLink" AssociatedControlID="txtImgUrl" runat="server" Text="Image URL"></asp:Label>
<asp:RequiredFieldValidator ID="imgUrlValidator" runat="server" ControlToValidate="txtImgUrl" ErrorMessage="Enter a Valid URL" />
<asp:TextBox ID="txtImgUrl" runat="server" />
</div>
<div class="clearBoth"></div>
</div>
这是检查我的btnSave 事件中有效绝对 URL 的代码:
Uri url;
if (!string.IsNullOrEmpty(txtImgUrl.Text))
{
txtImgUrl.Text = Uri.TryCreate(txtImgUrl.Text, UriKind.Absolute, out url) ? url.AbsoluteUri : string.Empty;
}
保存按钮标记:
<br class="clearBoth" />
<asp:Button ID="btnSave" Text="Save Case study" ImageUrl="~/Assets/Design/buttons/btn-update.gif" CssClass="btn fltr" runat="server" OnClick="btnSave_OnClick" />
<div class="clearBoth"></div>
当TryCreate 在不可靠的 URL 和 txtImgUrl.Text = "" 上失败时,是否应该触发 RequiredFieldValidator?
我在这里遗漏了什么明显的东西吗?
非常感谢任何帮助
【问题讨论】:
-
你的验证器工作正常,你能给我们看看按钮代码
-
更新问题以包含保存方法
-
我在 html 中要求保存按钮,因为当 txtImgUrl 为空时,服务器端的保存触发器将不会触发。并且您的页面不会被发回。
-
也会发布,一秒钟...
-
尝试将
ValidationGroup属性添加到您的textbox和button或将启动验证方法的内容
标签: c# asp.net hyperlink uri requiredfieldvalidator