2014-11-03 21 views
0

我想避免回發在我的應用程序。我正在使用telerik radcombobox。當用戶從radcombo框中選擇值時,所選擇的值應該出現在服務器端代碼中用於另一個radcombo盒的數據綁定。我的客戶端代碼顯示在Telerik的radcombo框的值下拉是:客戶端的價值不採取在服務器端使用jQuery

<input type="hidden" id="tCodh" runat="server" /> 
    <telerik:RadComboBox ID="tCod" runat="server" style="width: 185px;" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged" > 
    <DefaultItem Text="Select" Value="" /> 
     <Items>             
      <telerik:RadComboBoxItem Text="Description" Value="Description" /> 
      <telerik:RadComboBoxItem Text="Account" Value="Account" /> 
      <telerik:RadComboBoxItem Text="Price" Value="Price" /> 
      <telerik:RadComboBoxItem Text="Quantity" Value="Quantity" />            
     </Items> 
    </telerik:RadComboBox> 

     function OnClientSelectedIndexChanged(sender, eventArgs) {    
       var item = eventArgs.get_item();   
       document.getElementById('<%=tCod.ClientID%>').value = item.get_value();     
      } 

在這裏,我已經使用隱藏域存儲用戶對radcombo框中選定的值。在隱藏字段上收到的值將在服務器端發送。 代碼綁定值服務器端的變量...

public List<TelerikCombo> TCombo_Values() 
    { 
     string value = tCodh.Value;   
    } 

    But selected value is not shown. Instead error, object reference is not set to instance of an object is shown. Any help? 
    Thanks in advance. 
+0

出於好奇,什麼是回傳?我只知道這是一個.NET概念。 – PeterKA 2014-11-03 05:28:35

+0

你的問題對我來說毫無意義。您正在將RadComboBox的選定值存儲在隱藏字段中以避免回傳,您只能從代碼隱藏中檢索此值。你可以通過tCod.SelectedValue來做到這一點 – 2014-11-04 15:25:07

回答

0

確保您設置的隱藏字段值正確,存在丟失的「H」在其ID結束。

下面是與此修復程序爲我工作代碼:

<input type="hidden" id="tCodh" runat="server" /> 
    <telerik:RadComboBox ID="tCod" runat="server" Style="width: 185px;" OnClientSelectedIndexChanged="OnClientSelectedIndexChanged"> 
     <DefaultItem Text="Select" Value="" /> 
     <Items> 
      <telerik:RadComboBoxItem Text="Description" Value="Description" /> 
      <telerik:RadComboBoxItem Text="Account" Value="Account" /> 
      <telerik:RadComboBoxItem Text="Price" Value="Price" /> 
      <telerik:RadComboBoxItem Text="Quantity" Value="Quantity" /> 
     </Items> 
    </telerik:RadComboBox> 
    <asp:Button ID="Button1" Text="get values on server" OnClick="Button1_Click" runat="server" /> 
    <script type="text/javascript"> 
     function OnClientSelectedIndexChanged(sender, eventArgs) { 
      var item = eventArgs.get_item(); 
      document.getElementById('<%=tCodh.ClientID%>').value = item.get_value(); 
     } 
    </script> 

和樣本服務器處理程序使用這些數據:

protected void Button1_Click(object sender, EventArgs e) 
{ 
    string data = string.Format("data in hidden input: {0}<br />data from combo: {1}", tCodh.Value, tCod.SelectedValue); 
    Response.Write(data); 
} 

這裏是使用級聯連擊的演示: http://demos.telerik.com/aspnet-ajax/combobox/examples/functionality/multiplecomboboxes/defaultcs.aspx