0

我已经创建了一个 DropDownList,如我在此处的最后一个问题中所述

我一直在试图弄清楚如何获取列表的选定值。我使用了提供的答案,但它返回的唯一内容是{System.Web.Mvc.SelectList} 我对其进行了调试,并且确实“值”列中的字符串是{System.Web.Mvc.SelectList}

我在这里做错了什么?我在 MVC 上一直很失败,而且我还是新手。

感谢您的帮助

4

1 回答 1

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" />
}
于 2012-11-11T01:54:10.583 回答