尝试在FormView中获取Dropdownlist的选定值时出现空引用异常

时间:2014-01-13 18:35:15

标签: jquery asp.net formview

我在asp.net formview中有一个下拉列表,当我尝试使用jquery获取ddl的选定值时,我得到一个Null Reference Exception。

jQuery的:

 if ($('#<%=fvSubscriber.FindControl("ddlTransactionType").ClientID %>').val() == "Disconnect")
 {
     alert("test");
 }

标记:

 <asp:DropDownList ID="ddlTransactionType" AutoPostBack="true" runat="server" OnSelectedIndexChanged="ddlTransactionType_SelectedIndexChanged" TabIndex="1">
     <asp:ListItem Selected="True" Value="Choose">Choose Type...</asp:ListItem>
     <asp:ListItem Value="Enroll">Enroll</asp:ListItem>
     <asp:ListItem Value="Disconnect">Disconnect</asp:ListItem>
     <%-- DISABLED transaction types during data entry phase
     <asp:ListItem Value="Transfer">Transfer</asp:ListItem>
     <asp:ListItem Value="Update">Update</asp:ListItem>
     <asp:ListItem Value="DeEnrollDeceased">De-enroll Deceased</asp:ListItem>
     <asp:ListItem Value="DeEnrollLeaving">De-enroll Leaving</asp:ListItem>
     <asp:ListItem Value="DeEnrollFailedRecertification">De-enroll Failed Recertification</asp:ListItem>
     <asp:ListItem Value="DeEnrollNonUsage">De-enroll NonUsage</asp:ListItem> --%>
 </asp:DropDownList>

Null Reference Exception已在<%=fvSubscriber.FindControl("ddlTransactionType").ClientID %>上 尝试加载页面时发生异常。所以我读这个的方式是它确实找到了控件而不是选中的值。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

尝试:

if ($('[id*="ddlTransactionType"] option:selected').val() == "Disconnect")
 {
     alert("test");
 }

jQuery selector [id*="ddlTransactionType"]选择ID包含ddlTransactionType的所有元素。 要从下拉菜单中获取所选值,请添加option:selected(尝试在代码中添加它以查看是否会出现异常)。