[英]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.