我在一个控制器中有3个actionResults,我希望所有actionResults都返回一个视图,如下面的代码所示:
在控制器中:
<div id="board"></div>
在视图中我有两种形式:
public ActionResult Index()
{
return View(ListGroup);
}
[HttpPost]
public ActionResult Index(List<Group> listModel) {
@ViewBag.Success = "Update Suceess";
return View(listModel);//I set break point here
}
[HttpPost]
public ActionResult Search(Group ModelSearch) {
List<Group> listResult = ListGroup.Where(m=>m.GroupID == ModelSearch.GroupID).ToList();
return View("Index", listResult);
}
我希望这个控制器做两件事:
根据输入搜索记录。
编辑记录。
我把每个函数都放到actionResult中。 ActionResult索引运行良好,但actionResult搜索不起作用,它没有事件转到我设置的断点。
答案 0 :(得分:0)
您尝试在搜索方法中接收Group的对象,如果是,则应使用Group modal强烈键入您的视图
其他明智的更正您的搜索操作方法
[HttpPost]
public ActionResult Search(int? GroupId) {
List<Group> listResult = ListGroup.Where(m=>m.GroupID == GroupId).ToList();
return View("Index", listResult);
}
答案 1 :(得分:0)
我不知道实际问题是什么。由于含糊不清,ModelBinder
无法匹配某个属性名称,但我们并不了解所有相关的类。
我试图按如下方式重现问题,但是不能这样做,因此我可以给你一个工作(至少对我来说)你要做的事情的例子。我将列出我在这里创建的所有内容,以便您可以使用它并查看是否仍然出现错误。
我也冒昧地重构你的观点。你真的不需要那个丑陋的var i=0
和i++
; - )
Group
上课:
public class Group
{
public int GroupID { get; set; }
public string Name { get; set; }
}
Index
视图:
@model IList<WebApplication1.Models.Group>
@using (Html.BeginForm("Search", "DisplayTable"))
{
<fieldset>
<input type="text" name="GroupID" />
<input type="submit" value="SEARCH" />
</fieldset>
}
@using (Html.BeginForm("Index", "DisplayTable"))
{
<table>
<tr>
<td>Name</td>
<td>GroupID</td>
</tr>
@for (int i = 0; i < Model.Count; i++)
{
<tr>
<td>@Html.TextBoxFor(model => model[i].GroupID)</td>
<td>@Html.TextBoxFor(model => model[i].Name)</td>
</tr>
}
</table>
<input type="submit" value="SAVE" />
}
控制器:
public class DisplayTableController : Controller
{
private List<Group> groups = new List<Group>
{
new Group { GroupID = 1, Name = "Group 1" },
new Group { GroupID = 2, Name = "Group 2" }
};
public ActionResult Index()
{
return View(groups);
}
[HttpPost]
public ActionResult Index(List<Group> viewModel)
{
return View(viewModel);
}
[HttpPost]
public ActionResult Search(Group group)
{
var result = groups.Where(g => g.GroupID == group.GroupID).ToList();
return View("Index", result);
}
}
这绝对适合我(#34; SAVE&#34;&#34; SEARCH&#34;)。您可以尝试将其插入您的应用程序吗?