Ich stehe vor einem Problem, bei dem das überprüfte geänderte Ereignis des ersten Optionsfelds nicht ausgelöst wird. Ich habe ViewState
aktiviert, aber das Problem bleibt bestehen. siehe unten Code:ASP.NET-Optionsfeld aktiviert geändertes Ereignis, das für das erste Optionsfeld nicht ausgelöst wird
<span class="pull-right text-right">
<label class="inline radio">
<asp:RadioButton runat="server" ID="rdoViewAll" CausesValidation="false" GroupName="Filter" Text="View All" AutoPostBack="true" EnableViewState="true" Checked="true" />
</label>
<label class="inline radio">
<asp:RadioButton runat="server" ID="rdoViewCurrent" CausesValidation="false" GroupName="Filter" Text="View Current" AutoPostBack="true" />
</label>
<label class="inline radio">
<asp:RadioButton runat="server" ID="rdoViewFuture" CausesValidation="false" GroupName="Filter" Text="View Future" AutoPostBack="true" />
</label>
</span>
Und ich bin Einstellung des geprüfte geänderte Ereignisses auf Page_Init
wie folgt:
public void Page_Init(object sender, EventArgs e)
{
this.rdoViewAll.CheckedChanged += (s, a) =>
{
RebindTerms();
};
this.rdoViewFuture.CheckedChanged += (s, a) =>
{
RebindTerms();
};
this.rdoViewCurrent.CheckedChanged += (s, a) =>
{
RebindTerms();
};
}
Eine Sache, die ich bemerkte, ist, wenn ich die Checked="true"
Eigenschaft auf der ersten Radiobutton die CheckedChanged
entfernen Ereignis wird erfolgreich ausgelöst. Allerdings muss der erste Optionsschalter standardmäßig beim Laden der Seite aktiviert werden.
Ich glaube, Sie wussten bereits, dass Sie ein RadioButton in einer Gruppe nicht deaktivieren können, ohne ein anderes zu überprüfen. Damit wird das CheckedChanged-Ereignis nur auf das restliche Kontrollkästchen RadioButton und nicht auf das RadioButton, das bereits aktiviert ist, ausgelöst. In diesem Fall ist rdoViewAll der Standardwert. Das Ereignis wird nur für rdoViewFuture und rdoViewCurrent ausgelöst. –
Ich schlage vor, dass Sie stattdessen Click-Ereignis verwenden. –
@ Dr.Stitch - Der RadioButton hat kein Click-Ereignis, das in Code-Behind behandelt werden kann. – ConnorsFan