繁体   English   中英

如何从视图中的 JQuery 下拉列表中获取所选值到 Controller

[英]How to get selected value from JQuery Dropdownlist in View to Controller

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

相关代码如下:

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

我想我可以用@Url.Action()方法来做到这一点,但我读过你不能用这种方式请求 JavaScript 变量,所以我不知道该怎么做。

在此先感谢您的帮助

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

如:

// 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 *@

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM