【问题标题】:How to pass Javascript value to label server side如何将 Javascript 值传递给标签服务器端
【发布时间】:2017-02-01 07:56:39
【问题描述】:

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

这是我的代码。

前端

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

【问题讨论】:

    标签: javascript asp.net vb.net devexpress


    【解决方案1】:

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

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

    在运行时使用 Inspect 查看您的项目 - 您会看到编译后的 ID 不是 LblProduct,而是类似于 ProjectName_PageName_ContentPlaceHolderName_LblProduct 的东西。

    您也可以直接复制粘贴,但无法更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多