2017-02-01 14 views
0

2つ目のコンボボックスの値が2つの(2)ASPxComboBoxを含むgridviewは、最初のコンボボックスの値を基にしています。 DevExpressのデモとサンプルは少し複雑で時間がかかるので、コンボボックスの選択項目を交換すると値がラベルに格納されるという回避策が考えられます。そして、ラベルの値をドロップダウンに保存するようにします。しかし、私はどのようにサーバー側でラベルの価値を渡すか分からない。どんな助けでも大歓迎です。ありがとうございました!Javascript値をラベルサーバー側に渡す方法

ここに私のコードです。

FrontEndの

<asp:Label ID="LblProduct" runat="server" Text="Label"></asp:Label> 

<dx:ASPxGridView ID="ASPxGridView2" OnRowDataBound="ASPxGridView2_RowDataBound" ClientInstanceName="GridV" runat="server" AutoGenerateColumns="False" DataSourceID="forprod" KeyFieldName = "ppdtl_no"> 
<columns> 
<dx:GridViewDataTextColumn FieldName="fld_product" Name="Dd_product" ShowInCustomizationForm="true" VisibleIndex="3"> 
<SettingsHeaderFilter> 
<DateRangePickerSettings EditFormatString="" /> 
</SettingsHeaderFilter> 
<EditItemTemplate> 
<dx:ASPxComboBox ID="ASPxComboBoxProduct" runat="server" DataSourceID="pp_prod" TextField="pp_ppname" ValueField="pp_ppcode"> 
<ClientSideEvents SelectedIndexChanged="function(s, e) { OnProductChanged(s); }"></ClientSideEvents> 
</dx:ASPxComboBox> 
</EditItemTemplate> 
</dx:GridViewDataTextColumn> 


<dx:GridViewDataComboBoxColumn FieldName="fld_type" Name="dd_type" ShowInCustomizationForm="true" VisibleIndex="4"> 
<SettingsHeaderFilter> 
<DateRangePickerSettings EditFormatString="" /> 
</SettingsHeaderFilter> 
<EditItemTemplate> 
<dx:ASPxComboBox ID="ASPxComboBoxType" runat="server" DataSourceID="pp_type" TextField="pp_codetype" ValueField="pp_codetype"> 
</dx:ASPxComboBox> 
</EditItemTemplate> 
</dx:GridViewDataComboBoxColumn> 
</columns> 
</ASPxGridView> 

はJavaScript

function OnProductChanged(s, e) { 
      var selected_index = s.lastSuccessValue; 
      var aa = document.getElementById('LblProduct').innerText = selected_index; 

     } 
     onload = OnProductChanged; 

答えて

0

あなたは、あなたのセレクタにサーバーレベルで実行するすべての要素のClientIDプロパティを使用する必要があります。これを実現するには、ファイルにJavaScriptを書き込んで、ラベルを付けてから<%= LblProduct.ClientID %>を使用する必要があります。

<script type="text/javascript"> 
    document.getElementById('<%= LblProduct.ClientID %>'); 
</script> 

点検して、実行中のプロジェクトを見 - コンパイルはLblProductではありませんした後にIDが表示されますが、ProjectName_PageName_ContentPlaceHolderName_LblProductのようなもの。

変更することはできませんが、コピー貼り付けすることもできます。

関連する問題