我有一个aspx 页面,带有一个asp:DropDownList(这里是DropDownList_AuthenticationMode)。该元素也有一个 OnSelectedIndexChanged,并且 AutoPostBack 属性设置为 true。
当此下拉列表值更改时,会启动请求并触发 Page_Load 函数,但不会触发“DropDownList_AuthenticationMode_SelectedIndexChanged”函数。
IsPostBack 在 Page_Load 函数中也始终为 false。
我在没有触发此功能的情况下尝试了很多东西。带有 OnClick 属性的结束按钮会启动相同的操作,而不会触发 GetQrCode 方法。
有什么我可能忘记的吗?
<form id="Form1" runat="server">
<div class="rowflex" id="scrollableContent">
<div class=stepContent>
<div>
<span><asp:Literal ID="Literal_GetQrcode" runat="server"/></span>
<br/>
<br/>
<span><asp:Literal ID="Literal_FolderId" runat="server"/></span>
<br/>
<a href="../api/oauth/logout">Logout</a>
<br/>
<br/>
<span><asp:Literal ID="Literal_URL" runat="server"/></span>
<br/>
<asp:TextBox ID="TextBox_URL" runat="server" style="width: 400px; max-width: 600px"/>
<br/>
<br/>
<span><asp:Literal ID="Literal_AuthenticationMode" runat="server"/></span>
<br/>
<asp:DropDownList ID="DropDownList_AuthenticationMode" runat="server" AutoPostBack="true" onselectedindexchanged="DropDownList_AuthenticationMode_SelectedIndexChanged" style="width: 400px; max-width: 600px"></asp:DropDownList>
<br/>
<br/>
<span><asp:Literal ID="Literal_Domain" runat="server" Visible="false"/></span>
<br/>
<asp:TextBox ID="TextBox_Domain" runat="server" Visible="false" style="width: 400px; max-width: 600px"/><br/>
<br/>
<br/>
<asp:Button ID="Button_GetQrCode" runat="server" OnClick="GetQrCode" />
<br/>
<br/>
<asp:label ID="Label_GetQrCodeResult" runat="server"></asp:label>
</div>
</div>
</div>
</form>
和 cs 看起来像这样:
protected void DropDownList_AuthenticationMode_SelectedIndexChanged(object sender, EventArgs e)
{
Literal_Domain.Visible = TextBox_Domain.Visible = (DropDownList_AuthenticationMode.SelectedItem.Text == AUTHENTICATIONMODE_NTLM);
}
我已经没有关于这个问题的想法了。
谢谢 !