Я использую Visual Studio 2010 с фреймворком 3.5 и Ajax Control Toolkit .NET 3.5.asp.net, requiredfieldvalidator отключение событий по коду за
Я работаю над веб-сайтом asp.net.
На форме у меня есть это: текстовое поле, в ImageButton, кнопки, календарь и RequiredFieldValidator:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<p>
<br />
<asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</asp:ToolkitScriptManager>
<asp:Label id="Label3" runat="server">Date</asp:Label>
<asp:textbox id="txtInitialDate" runat="server" Width="75px" MaxLength="10"></asp:textbox>
<asp:ImageButton ID="imgBegin"
ImageUrl="~/images/Icon1.jpeg" runat="server"
AlternateText="" Height="24px" Width="24px" />
<asp:CalendarExtender ID="CalendarExtender1" runat="server"
TargetControlID="txtInitialDate"
PopupPosition="BottomLeft" PopupButtonID="imgBegin"
>
</asp:CalendarExtender>
<asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="txtInitialDate"
Display="Dynamic"></asp:requiredfieldvalidator>
<asp:button id="Button2" runat="server" Text="Send" onclick="Button2_Click"></asp:button>
</asp:Content>
код позади:
override protected void OnInit(EventArgs e)
{
Button2.Attributes.Add("onclick", "javascript:" + Button2.ClientID + ".disabled=true;" + "javascript:" + Button2.ClientID + ".value='Processing.';" + this.GetPostBackEventReference(Button2) + ";");
base.OnInit(e);
}
protected void Button2_Click(object sender, EventArgs e)
{
string a = "some_value";
}
взаимодействие здесь является то, что пользователь нажимает на ImageButton, показывает календарь, пользователь нажимает на дату и затем нажимает кнопку.
Проблема:
При запуске веб-сайт и нажмите на ImageButton первой и выбрать дату, то при нажатии на кнопку событий не увольняют.
Но если я комментирую код валидатора:
<asp:requiredfieldvalidator id="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="txtInitialDate"
Display="Dynamic"></asp:requiredfieldvalidator>
Затем события увольняют правильно.
Я хочу, чтобы иметь возможность использовать RequiredFieldValidator, но я не хочу, чтобы создать конфликт с кнопкой
Почему это происходит и как я могу решить эту проблему?
Благодаря ...
Спасибо! Я сделал это, чтобы удалить событие OnInit, и я поместил код события OnInit в код Button2_Click за событием. Код из события OnInit должен был быть изменен немного, чтобы он мог запускаться в коде за событием Button2_Click. Еще раз спасибо! – trek