[英]How to use control ID from clientside .ascx and use it in serverside ascx.cs (ASP.NET)
我在.acsx中定義了一個ASP.NET控件,並在服務器端通過一些代碼在.cs中對其進行了檢查,如果數據輸入無效,則創建一個新的自定義驗證器。
我試圖使錯誤消息顯示在控件旁邊,但是我無法將ControlToValidate
屬性設置為ControlToValidate
的ID
。 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.