如何将Javascript值传递给标签服务器端

时间:2017-02-01 07:56:39

标签: javascript asp.net vb.net devexpress

我有一个包含两个(2)ASPxComboBox的gridview,第二个Combo框的值基于第一个组合框的值。 DevExpress演示和示例有点复杂和耗时,所以我想到一个解决方法,当组合框的选定项目交换时,值将存储在标签中。我将获得标签的值以存储在下拉列表中。但我不知道如何在服务器端传递label的值。任何帮助将非常感激。谢谢!

这是我的代码。

前端

<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;

1 个答案:

答案 0 :(得分:0)

您需要在选择器中使用在服务器级别运行的任何元素的ClientID属性。为此,您必须使用标签在文件中编写JavaScript,然后使用<%= LblProduct.ClientID %>

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

在运行期间使用Inspect查看您的项目 - 您将在编译后看到ID LblProduct,但类似于ProjectName_PageName_ContentPlaceHolderName_LblProduct

您也可以复制粘贴,但不能更改。