我已经创建了一个 DropDownList,如我在此处的最后一个问题中所述
我一直在试图弄清楚如何获取列表的选定值。我使用了提供的答案,但它返回的唯一内容是{System.Web.Mvc.SelectList}
我对其进行了调试,并且确实“值”列中的字符串是{System.Web.Mvc.SelectList}
我在这里做错了什么?我在 MVC 上一直很失败,而且我还是新手。
感谢您的帮助
我已经创建了一个 DropDownList,如我在此处的最后一个问题中所述
我一直在试图弄清楚如何获取列表的选定值。我使用了提供的答案,但它返回的唯一内容是{System.Web.Mvc.SelectList}
我对其进行了调试,并且确实“值”列中的字符串是{System.Web.Mvc.SelectList}
我在这里做错了什么?我在 MVC 上一直很失败,而且我还是新手。
感谢您的帮助
您在控制器中的操作应如下所示:
[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" />
}