2014-01-13 22 views
1

我在asp.net formview中有一些asp文本框和asp下拉列表。我能夠使用jQuery這個設置城市文本框的值:如何使用jQuery在Formview中設置Dropdownlist的值

$('#<%=fvSubscriber.FindControl("txtMailingAddrCity").ClientID %>').val('Anchorage'); 

然而,當我試圖設置狀態下拉列表的這個值:

$('#<%=fvSubscriber.FindControl("ddlMailingState").ClientID %>').val('AK'); 

我得到一個空引用異常。我哪裏錯了?

更新:這裏是標記

<label class="labelWidth40" for="txtMailingAddrCity"> 
    City: 
</label> 
<asp:TextBox ID="txtMailingAddrCity" CssClass="alpha" runat="server" 
     Text='<%# Eval("mailingCity") %>' MaxLength="50" OnTextChanged="ValueChanged" TabIndex="2" /> 
<label class="labelWidth50" for="ddlMailingState"> 
    State: 
</label> 
<asp:DropDownList ID="ddlMailingState" CssClass="stateDDL" runat="server" OnSelectedIndexChanged="ValueChanged" TabIndex="2" /> 
+2

顯示您的標記 - 你可以得到一個空引用的唯一途徑是,如果'的FindControl(「ddlMailingState」)'快到了空。你確定這是正確的名字嗎? – bhamlin

+0

@bhamlin我加了標記。 – Jason

+0

你的兩個代碼工作正常,當formview數據源有東西。如果沒有數據,兩者都會失敗 - 這很有道理,在這種情況下不存在文本框或下拉菜單。 – afzalulh

回答

0

也許你對find問題,請嘗試使用在你的控制靜態ID:

<asp:DropDownList ID="ddlMailingState" CssClass="stateDDL" runat="server" ClientIDMode="Static" OnSelectedIndexChanged="ValueChanged" TabIndex="2"/> 

<asp:TextBox ID="txtMailingAddrCity" CssClass="alpha" runat="server" ClientIDMode="Static" 
    Text='<%# Eval("mailingCity") %>' MaxLength="50" OnTextChanged="ValueChanged" TabIndex="2"/> 

,並直接設置jQuery的:

$("#ddlMailingState").val("AK"); 
$("#txtMailingAddrCity").val("Anchorage"); 
+0

謝謝,但不會工作,因爲控件是在formview – Jason

0

例外是pr可以從空數據源(我在測試中發現的)中獲得。您需要添加一個EmptyDataTemplete象下面這樣:

<EmptyDataTemplate> 
    <label class="labelWidth40" for="txtMailingAddrCity"> 
     City: 
    </label> 
    <asp:TextBox ID="txtMailingAddrCity" CssClass="alpha" runat="server" 
     Text="" MaxLength="50" OnTextChanged="ValueChanged" TabIndex="2" /> 
    <label class="labelWidth50" for="ddlMailingState"> 
     State: 
    </label> 
    <asp:DropDownList ID="ddlMailingState" CssClass="stateDDL" runat="server" OnSelectedIndexChanged="ValueChanged" TabIndex="2" /> 
</EmptyDataTemplate> 
+0

內,下拉列表的數據源綁定在代碼隱藏中,而城市綁定在標記中。他們可以混合嗎? – Jason

+0

是的,你可以。在FromView的DataBaound方法中,您可以綁定下拉列表。 – afzalulh

相關問題