Asp.net 将所选值的DropDownList传递给所选项目的控制器已更改
正在尝试将所选的值(在本例中为studentid)传递给BeginForm 看法 控制器动作 模型Asp.net 将所选值的DropDownList传递给所选项目的控制器已更改,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-mvc-3,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Mvc 3,正在尝试将所选的值(在本例中为studentid)传递给BeginForm 看法 控制器动作 模型 公共类DDModel { 公共列表DDList{get;set;} 公共int studentID{get;set;} 公共字符串studentName{get;set;} } 终于明白了 看法 行动 那你有什么问题?如果POST方法具有模型的参数,则其studentID属性将与所选选项的值绑定。无论我从下拉列表中选择了什么项目,我的操作方法始终为零。那么它可能是一个字段而不是属性。您还没有显示任
公共类DDModel
{
公共列表DDList{get;set;}
公共int studentID{get;set;}
公共字符串studentName{get;set;}
}
终于明白了
看法
行动
那你有什么问题?如果POST方法具有模型的参数,则其
studentID
属性将与所选选项的值绑定。无论我从下拉列表中选择了什么项目,我的操作方法始终为零。那么它可能是一个字段而不是属性。您还没有显示任何相关代码(您的模型或控制器方法!),我添加了毫无意义的模型和控制器操作。您已经展示了一个GET方法,该方法返回一个集合和一个视图,该视图的模型显然不是集合,因此代码甚至不会编译。您还没有显示POST方法(并且没有相关,但是删除了BeginForm()
中无意义的new{id=Model.studentID}
)
@using (Html.BeginForm("DDSubmit", "Home",new { id=Model.studentID}, FormMethod.Post))
{
@Html.DropDownListFor(m => m.studentID, Model.DDList, "Please Select",new { onchange = "this.form.submit();" })
}
public ActionResult DDSubmit(int id)
{
var info = (from r in entity.STUDENTS where r.Student_Id == id select r).ToList();
return View(info);
}
public class DDModel
{
public List<SelectListItem> DDList { get; set; }
public int studentID { get; set; }
public string studentName { get; set; }
}
@using (Html.BeginForm("DDSubmit", "Home", FormMethod.Post))
{
@Html.DropDownListFor(m => m.studentID, Model.DDList, "Please Select",new { onchange = "this.form.submit();" })
}
public ActionResult DDSubmit(DDModel ddlist)
{
int id = ddlist.studentID;
var info = (from r in entity.STUDENTS where r.Student_Id == id select r).ToList();
return View(info);
}