mvc5剃须刀向控制器发送参数
本文关键字:参数 控制器 剃须刀 mvc5 | 更新日期: 2023-09-27 18:28:11
我想根据视图中的用户选择向控制器发回一个参数。
这就是我的观点:
@model IEnumerable<Users>
@{
ViewBag.Title = "FieldSaver Users";
}
<h2>Users</h2>
@foreach(char c in ViewBag.Alphabet)
{
@Html.ActionLink(c.ToString(), "Home/" + c, new object { }, new { @class = "alphabet", @letter = c })
}
<div class="table-responsive">
<table class="table table-striped">
<tr>
<td>Username</td>
<td>First name</td>
<td>Last name</td>
</tr>
@foreach (var user in Model)
{
<tr>
<td>@user.UserName</td>
<td>@user.FirstName</td>
<td>@user.LastName</td>
</tr>
}
</table>
</div>
这就是控制器:
public ActionResult Home(string letter)
{
ViewBag.Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
using (var db = new App.Models.DbContext())
{
List<Users> users = (from p in db.Users
select p).ToList();
return View(users);
}
return View();
}
因此,当有人点击字母表链接中的一个字母时,我想将值发回控制器,目前正在进行回发,但字母表参数为空。
我做错了什么?
当前用作new object { }
的是提供路线数据的位置。您正在将其添加为HTML属性。
在你的情况下,应该是这样的:
@Html.ActionLink(c.ToString(),
"Home",
new { letter = c },
new { @class = "alphabet" })