Javascript 如何从视图中的JQuery Dropdownlist中获取所选值到控制器

Javascript 如何从视图中的JQuery Dropdownlist中获取所选值到控制器,javascript,c#,html,asp.net-mvc,Javascript,C#,Html,Asp.net Mvc,我正在编写一个程序,使用asp.net MVC和Bing地图在地图上绘制公交路线。我希望能够通过使用下拉列表选择路线名称,并将该名称值作为字符串传递回控制器中的方法来更改地图显示的公交路线,该方法将使用该名称查询数据库 有关守则如下: @Html.DropDownList("BusRouteNames", new SelectList()) <form action="#"> <fieldset> <

我正在编写一个程序,使用asp.net MVC和Bing地图在地图上绘制公交路线。我希望能够通过使用下拉列表选择路线名称,并将该名称值作为字符串传递回控制器中的方法来更改地图显示的公交路线,该方法将使用该名称查询数据库

有关守则如下:

@Html.DropDownList("BusRouteNames", new SelectList())

<form action="#">
    <fieldset>
        <label for="BusRoute">Select a Bus Route</label>
        <select name="busroute" id="busroute">
            <option selected="selected" value="1">Stop 1</option>
            <option value="2">Stop 2</option>
            <option value="3">Stop 3</option>
            <option value="4">Stop 4</option>
            <option value="5">Stop 5</option>
        </select>
        <input type="button" title="Calculate" value="Calculate Route" onclick="location.href=''" />
    </fieldset>
</form>
@Html.DropDownList(“BusRouteNames”,new SelectList())
选择公共汽车路线
第一站
第二站
第三站
停止4
停止5
我想我可以用
@Url.Action()
方法来实现这一点,但我知道你不能用这种方式请求JavaScript变量,所以我不确定该怎么做


提前感谢您的帮助

以下是我建议的方法。将模型传递给cshtml视图会很有帮助。然后,您可以创建下拉列表并通过模型和控制器处理选择

例如:

// update your model
public class YourModel {
    public class List<SelectListItem> BusRoutes { get; set; }
    public string SelectedBusRoute { get; set; }
}

// in your controller get method
public ActionResult<YourModel> Get(string route = null)
{
    var model = new YourModel();
    // add your data
    model.BusRoutes = new List<SelectListItem> {
        new SelectListItem { Text = "Stop 2", Value = "2" },
        // add rest...
    };
    // set selected value
    model.SelectedBusRoute = route ?? "2";
    return View(model);
}

// in YourModel.cshtml
@model YourModel
@using (Html.BeginForm("Get", "YourController", FormMethod.Get))
{
    @Html.DropDownListFor(model => model.SelectedBusRoute, Model.BusRoutes, "-- Select Route--");
    <button type="submit">Calculate</button>

}
@* Generate your map using the Model.SelectedBusRoute value *@

//更新您的模型
公共类模型{
公共类列表总线路由{get;set;}
公共字符串SelectedBusRoute{get;set;}
}
//在控制器的get方法中
公共ActionResult获取(字符串路由=null)
{
var模型=新模型();
//添加您的数据
model.BusRoutes=新列表{
新建SelectListItem{Text=“Stop 2”,Value=“2”},
//加上休息。。。
};
//设置选定值
model.SelectedBusRoute=路线??“2”;
返回视图(模型);
}
//在YourModel.cshtml中
@模型你的模型
@使用(Html.BeginForm(“Get”、“YourController”、FormMethod.Get))
{
@DropDownListFor(model=>model.SelectedBusRoute,model.BusRoutes,“--selectRoute-->”);
算计
}
@*使用Model.SelectedBusRoute值生成地图*@

如果这是一个简单的问题,很抱歉,但您能否一次通过一个模型传递多个内容?因为我已经通过了与此视图不同的模型来查看与路线相关的其他内容。我应该澄清,我已经通过了另一个模型类的
列表。如果我要创建一个新类,我可以传递并填充它们吗?