C# 如何在ASP.NET网页中执行此操作?

C# 如何在ASP.NET网页中执行此操作?,c#,asp.net,razor,C#,Asp.net,Razor,在票务系统中 假设我有一个组合框,用户可以在其中选择行程时间,还有一个组合框,用户可以在其中选择行程id 我想做的是,当他选择时间时,另一个“行程id”组合框会自动更改,以显示所有可用行程,具体取决于他在第一个组合框中选择的时间 因此,我试图做的是一个“更改时”事件或“单击时”事件(如果需要单击按钮) 我正在使用带有C#和razor的asp.net网页 有什么想法吗?您可以使用ajax工具包 TargetControlID-要填充的下拉列表的ID 类别-此下拉列表所代表类别的名称 Promp

在票务系统中

假设我有一个组合框,用户可以在其中选择行程时间,还有一个组合框,用户可以在其中选择行程id

我想做的是,当他选择时间时,另一个“行程id”组合框会自动更改,以显示所有可用行程,具体取决于他在第一个组合框中选择的时间

因此,我试图做的是一个“更改时”事件或“单击时”事件(如果需要单击按钮)

我正在使用带有C#和razor的asp.net网页

有什么想法吗?

您可以使用ajax工具包


TargetControlID-要填充的下拉列表的ID

类别-此下拉列表所代表类别的名称

PrompText-在用户从下拉列表中选择值之前显示的可选文本

PromptValue-显示PromptText时设置的可选值

EmptyText-当DropDownList没有数据可显示时显示的可选文本

EmptyValue-显示EmptyText时设置的可选值

LoadingText-在下载DropDownList数据时显示的可选文本 上膛了

ServicePath-返回用于填充DropDownList的数据的web服务的路径。如果ServiceMethod引用页面方法,则此属性应保留为null。web服务应使用System.web.Script.Services.ScriptService属性修饰

ServiceMethod-返回用于填充DropDownList的数据的Web服务方法。此方法的签名必须与以下内容匹配:

您可以使用ajax工具包


TargetControlID-要填充的下拉列表的ID

类别-此下拉列表所代表类别的名称

PrompText-在用户从下拉列表中选择值之前显示的可选文本

PromptValue-显示PromptText时设置的可选值

EmptyText-当DropDownList没有数据可显示时显示的可选文本

EmptyValue-显示EmptyText时设置的可选值

LoadingText-在下载DropDownList数据时显示的可选文本 上膛了

ServicePath-返回用于填充DropDownList的数据的web服务的路径。如果ServiceMethod引用页面方法,则此属性应保留为null。web服务应使用System.web.Script.Services.ScriptService属性修饰

ServiceMethod-返回用于填充DropDownList的数据的Web服务方法。此方法的签名必须与以下内容匹配:

您可以使用ajax工具包


TargetControlID-要填充的下拉列表的ID

类别-此下拉列表所代表类别的名称

PrompText-在用户从下拉列表中选择值之前显示的可选文本

PromptValue-显示PromptText时设置的可选值

EmptyText-当DropDownList没有数据可显示时显示的可选文本

EmptyValue-显示EmptyText时设置的可选值

LoadingText-在下载DropDownList数据时显示的可选文本 上膛了

ServicePath-返回用于填充DropDownList的数据的web服务的路径。如果ServiceMethod引用页面方法,则此属性应保留为null。web服务应使用System.web.Script.Services.ScriptService属性修饰

ServiceMethod-返回用于填充DropDownList的数据的Web服务方法。此方法的签名必须与以下内容匹配:

您可以使用ajax工具包


TargetControlID-要填充的下拉列表的ID

类别-此下拉列表所代表类别的名称

PrompText-在用户从下拉列表中选择值之前显示的可选文本

PromptValue-显示PromptText时设置的可选值

EmptyText-当DropDownList没有数据可显示时显示的可选文本

EmptyValue-显示EmptyText时设置的可选值

LoadingText-在下载DropDownList数据时显示的可选文本 上膛了

ServicePath-返回用于填充DropDownList的数据的web服务的路径。如果ServiceMethod引用页面方法,则此属性应保留为null。web服务应使用System.web.Script.Services.ScriptService属性修饰


ServiceMethod-返回用于填充DropDownList的数据的Web服务方法。此方法的签名必须与以下内容匹配:

我认为最好的方法是在第一个select控件上设置js onchange事件处理程序,并通过HTTP GET请求(使用jquery f e)从服务器加载第二个select控件的项。它是最优雅、最简单、最轻量级的解决方案

UPD: 如果您熟悉js,可以从服务器返回trip ID的JSON数组,然后为每个ID创建适当的选项元素。如果您不这样做,您可以从服务器返回整个更新的select control html,并用它替换现有的html
<ajaxToolkit:CascadingDropDown ID="CDD1" runat="server"
    TargetControlID="DropDownList2"
    Category="Model"
    PromptText="Please select a model"
    LoadingText="[Loading models...]"
    ServicePath="CarsService.asmx"
    ServiceMethod="GetDropDownContents"
    ParentControlID="DropDownList1"
    SelectedValue="SomeValue" />
function timeChanged () {
  $.getJSON(
    '/pageorsomethingelse.aspx?time=' + time,
    function (jsonResult) {
      $("#tripIdsSelect").html("");

      for (var i = 0; i != result.length; i++) {
        var option = $("<option>").html(result[i]);

        option.appendTo($("#tripIdsSelect"));
      }
    }
}
function timeChanged () {
  $.get(
    '/pageorsomethingelse.aspx?time=' + time,
    function (htmlResult) {
      $("#tripIdsSelect").replaceWith(htmlResult);
    }
  );
}