我有一个TextBox
,用于存储应用<asp:HyperLink>
控件的网址。我想要做的是当RequiredFieldValidator
值为空并且用户点击保存时触发TextBox.Text
。据我所知,我的逻辑没问题,但验证器没有解雇?
这是标记:
<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
事件中有效绝对网址的代码:
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>
当RequiredFieldValidator
在狡猾的网址TryCreate
上失败时,txtImgUrl.Text = ""
不应该被解雇吗?
有什么明显的东西让我在这里失踪吗?
非常感谢任何帮助
答案 0 :(得分:2)
您应该点击按钮
if (Page.IsValid)
{
lblOutput.Text = "Required field is filled!";
}
else
{
lblOutput.Text = "Required field is empty!";
}
在按钮中的ASPX中添加
CausesValidation="true"