我有一个服务器端(html帮助程序)&客户端2下拉菜单。当第一个下拉菜单的onchange事件触发时,客户端下拉菜单被触发。那么我需要得到两个下拉列表的选定项目。
我的观点
@using (Html.BeginForm("BasicManagement", "Admin", System.Web.Mvc.FormMethod.Post))
{
//Dropdown ist 1
@Html.DropDownList("UserId", ViewBag.SupervisorList as System.Web.Mvc.SelectList, "-- Select Supervisor --", new { @class = "form-control supervisors", id = "drpsupervisors", @onchange = "getDistricts()" })
//Dropdown list 2
<select id="dist" class="form-control"></select>//<-- District list loaded here
}
模型
public class PersonRole
{
//some properties here
public Guid DistrictId { get; set; }
}
控制器
[HttpPost]
public ActionResult BasicManagement(PersonRole pr)//<-- I wanted to get DistrictId to pr object.It doesn't come.
{
//Some code here
}
答案 0 :(得分:1)
没关系,您可以通过相同的jquery代码获取两者的值。 这是通过javascript获取的代码
$('#dist option:selected').val();
$('#drpsupervisors option:selected').val();
如果您使用表单提交,那么只需给它们与模型中的名称相同。例: 在模型中你有
public int DistrictId { get; set; }
你的选择应该是这样的
<select name="DistrictId"></select>
和 用Razor语法
@html.DropDownlistFor(x=>x.DistrictId)
答案 1 :(得分:0)
&#34;我想把DistrictId变成pr对象。它不会来。&#34;
function getDistricts()
{
//get ajax call however you're gettting Dropdown 2 data
//return a value distID for hidden model
$("#districtID").val(distID);
}
将dropown 2值传递给隐藏模型
@Html.HiddenFor(model => model.DistrictId, new { @ID = "districtID" })