簡體   English   中英

如何從客戶端.ascx使用控件ID並在服務器端ascx.cs(ASP.NET)中使用它

[英]How to use control ID from clientside .ascx and use it in serverside ascx.cs (ASP.NET)

我在.acsx中定義了一個ASP.NET控件,並在服務器端通過一些代碼在.cs中對其進行了檢查,如果數據輸入無效,則創建一個新的自定義驗證器。

我試圖使錯誤消息顯示在控件旁邊,但是我無法將ControlToValidate屬性設置為ControlToValidateID Visual Studio突出顯示ContactTelephoneTextBox並顯示錯誤:

無法轉換來源類型

這是.cs中的自定義驗證程序

Page.Validators.Add(new CustomValidator()
{
    Display = ValidatorDisplay.Dynamic,
    ControlToValidate = ContactTelephoneTextBox, 
    ID = "phoneInvalid",
    IsValid = false,
    ErrorMessage = "Please enter a valid phone number.", 
    field",
});

在我的.ascx中

<div id="ContactTelephone">
    <asp:Label ID="ContactTelephoneLabel" AssociatedControlID="ContactTelephoneTextBox"
        CssClass="required formFont2015 formLabel2015" runat="server">Contact number</asp:Label>
    <asp:TextBox ID="ContactTelephoneTextBox" CssClass="boxStyle2015" runat="server"></asp:TextBox>
</div>

ControlToValidate需要一個字符串而不是一個控件,所以這應該可以工作:

Page.Validators.Add(new CustomValidator()
{
    Display = ValidatorDisplay.Dynamic,
    ControlToValidate = ContactTelephoneTextBox.ClientID, 
    ID = "phoneInvalid",
    IsValid = false,
    ErrorMessage = "Please enter a valid phone number.", 
    field",
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM