我已经创建了一个DropDownList,如我上一个问题here
中所述我一直试图弄清楚如何获取列表的选定值。我使用了提供的答案,但它返回的唯一内容是{System.Web.Mvc.SelectList}
我调试了它,确定“值”列中的字符串是{System.Web.Mvc.SelectList}
我在这里做错了什么?我一直在MVC失败,并且很擅长。
感谢您的帮助
答案 0 :(得分:0)
您在控制器中的操作应如下所示:
[HttpPost]
public ActionResult Index(int DropOrgId)
{
System.Diagnostics.Debugger.Break();
return null;
}
需要注意的重要一点是,“ DropOrgId ”与您在视图中传递给@ Html.DropDownList(“ DropOrgID ”)的字符串名称相同。此名称将存储HTML输入控件的输入值,在本例中为
来源将是:
<select id="DropOrgID" name="DropOrgID">...</select>
输入控件的id是MVC框架如何将该控件的值与您正在寻找的操作的参数进行匹配。
以下是展示它的示例应用:
类
public class Organization
{
public int OrganizationID { get; set; }
public string Name { get; set; }
}
控制器
public class HomeController : Controller
{
public ActionResult Index()
{
var orgs = new List<Organization>();
foreach (var count in Enumerable.Range(1, 10))
{
var newOrg = new Organization();
newOrg.OrganizationID = count;
newOrg.Name = "Organization " + count.ToString();
orgs.Add(newOrg);
}
ViewBag.DropOrgID = new SelectList(orgs, "OrganizationID", "Name", 3);
return View();
}
[HttpPost]
public ActionResult Index(int DropOrgID)
{
//You can check that this DropOrgID contains the newly selected value.
System.Diagnostics.Debugger.Break();
return null;
}
}
索引视图
<h2>Index</h2>
@using (Html.BeginForm())
{
@Html.DropDownList("DropOrgID")
<br />
<br />
<input type="submit" value="Save" />
}