【问题标题】:How to use page method to bind control to differnet data sources?如何使用页面方法将控件绑定到不同的数据源?
【发布时间】:2016-12-05 08:39:25
【问题描述】:

如果我有这样的单选按钮列表:

 <asp:RadioButtonList ID="rbtn_PeriodTypeName" runat="server" DataTextField="PeriodTypeName" DataValueField="PeriodTypeId" AutoPostBack="true" RepeatDirection="Horizontal">
</asp:RadioButtonList>

并且根据用户选择,我必须从数据库中绑定我的下拉列表。

<telerik:RadDropDownList ID="ddl_PeriodType" runat="server">

</telerik:RadDropDownList>

如何使用 Ajax 页面方法做类似的事情?

前:

我的单选按钮列表:

  • 1
  • 2
  • 3

如果用户选择 2,下拉列表应该是这样的:

  • W1
  • W2
  • W3

【问题讨论】:

  • 如果您想每次在单选按钮上重新加载页面。使用单选按钮的SelectedIndexChanged 事件并根据所选索引重新绑定下拉列表。如果您不想重新加载页面,请使用AJAX 在客户端使用 webapi 或 webmethod 刷新下拉列表。

标签: javascript c# asp.net ajax asp.net-ajax


【解决方案1】:
  • 在页面加载时绑定第一个组合
  • 在 selectionchanged 客户端事件触发 ajax 调用 ajax 方法
  • 此 ajax 方法将根据以下内容获取下一个组合的列表项 选定的第一个 ID

【讨论】:

    【解决方案2】:

    在页面初始加载if时为所有下拉列表绑定数据

    1. 每个下拉菜单中的选项数量不会太多
    2. 下拉菜单的数据源不会因选择的单选按钮而改变

    并且,根据客户端本身选择的单选按钮切换客户端下拉菜单的可见性..

    【讨论】:

      【解决方案3】:

      编写 jquery ajax 方法来调用您的服务器端函数,通过创建您的类的新对象(因为它将是静态方法)将您的值绑定到您的控件

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-17
        • 1970-01-01
        • 2013-02-18
        • 1970-01-01
        相关资源
        最近更新 更多