0

コントロールTextBoxを適用するための URL を保存するために使用する があります。<asp:HyperLink>私がやりたいことは、値が空で、ユーザーがsave をクリックした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イベント内にある有効な絶対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>

怪しげなURL や で失敗したRequiredFieldValidatorときに、TryCreatetxtImgUrl.Text = ""

ここで私が見逃していることが露骨に明らかなことはありますか?

どんな助けでも大歓迎です

4

1 に答える 1

2

ボタンのクリックでチェックする必要があります

 if (Page.IsValid) 
         {
            lblOutput.Text = "Required field is filled!";
         }
         else 
         {
            lblOutput.Text = "Required field is empty!";
         }

ボタンのASPXで追加

CausesValidation="true"
于 2012-06-27T09:20:12.373 に答える