Я хочу, чтобы при текстовом поле visible = false
RequiredFieldValidator не запускался.RequiredFieldValidator IsValid return false on visible = false control
Это мой ASPX код:
<asp:TextBox runat="server" ID="txtAmt" MaxLength="7" Style="width: 100px;"/>
<asp:RequiredFieldValidator ValidationGroup="ln" runat="server" ControlToValidate="txtAmt"
Display="Dynamic" ErrorMessage="Required" />
Сейчас в моем коде позади
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
txtAmt.Visible = false;
}
}
и еще в моей кнопки обработчик щелчка, когда я делаю Page.IsValid
, она возвращает false
, если текстовое поле пусто , Есть идеи, как решить эту проблему?
Я предполагаю, что это хак, так Page.IsValid должен вернуть истину, если видимость элемента управления является ложной, как в этой ссылке: http://stackoverflow.com/ Вопросы/2962280/do-validations-still-fire-in-asp-net-even-if-the-controls-are-hidden Я думаю, что первоначальная причина этой ошибки еще не выяснена. – Jack
Вы можете попытаться отключить validatorID или просто сделать оба из них видимыми = false, элемент управления и валидатор, чтобы они не отображались. –
хорошая идея. Благодаря! – Jack