MVC aspx从dropdownlist更新网页

时间:2012-03-31 19:40:08

标签: asp.net-mvc webpage

我的代码遇到了一些麻烦。好的,所以我有一个ASPx网页。现在我有一个下拉框,由模型(通过控制器)的sql服务器填充。我添加了一个按钮和下拉列表,如下所示。

我无法将下拉列表中的选定值返回给控制器。任何帮助都会很棒

查看:

<% = Html.DropDownList("Books") %>
<input type = "submit" value = "Update"/>

<h1> <%=TempData["BookName"]%> </h1>

控制器:

 public ActionResult Index(string bookName)
 {
   ViewData["BookName"] = new SelectList(_context.BookName.Select(a =>a.Book_Name).Distinct());

 if (!string.IsNullOrWhiteSpace(bookName))
 {
   ViewData["Books"] = _context.BookName.Where(b => b.Book_Name == bookName).ToList();
   UpdateBookNameTitle(bookName);
  }
  return View();
}

public ActionResult UpdateBookNameTitle(string bookName)
{
   TempData["BookName"] = bookName;
    return View("Home2"); 


}

1 个答案:

答案 0 :(得分:2)

您需要将下拉列表和按钮包装到表单中(在视图中)。同时将下拉列表的名称更改为“bookName”,因此MVC可以将所选值映射到bookName操作参数:

<% using(Html.BeginForm("Index", "Home")) { %>
  <%= Html.DropDownList("bookName") %>
  <input type="submit" value="Update"/>
<% } %>

如果没有HTML表单,您的提交按钮将不会向服务器发出POST请求。