Ana*_*tic 1 asp.net-mvc actionlink razor asp.net-mvc-4
我在MVC 4应用程序中创建了一个Admin区域.在被调用的Views文件夹下UserManage,我使用Grid.MVC在多个页面上列出用户(5个集合).在网格中,我列出了供管理员查看的用户详细信息,并添加了:
EDIT链接的列.CREATE按钮.DELETE按钮(与每行的复选框一起使用).我的用户详细信息页面位于我的管理区域中,位于以下路径中:Project\Areas\Admin\Views\UserManage\Index.cshtml.在我的EDITliniks上,我试图拉出视图Project\Areas\Admin\Views\UserManage\Edit.cshtml并将个人传递UserID给View以提取用户数据.
在我下面的当前代码中,我的浏览器解析为http://localhost:62517/Admin/UserManage/Edit?Length=4IIS 8.0 404错误(控制器无法找到UserID).但是如果我手动更改Length到Id如下,一切都会按计划,我结束了我的Edit观点:http://localhost:62517/Admin/UserManage/Edit?Id=4.
这是我的Index.cshtml页面网格代码.有没有人知道我需要修改什么,Html.ActionLink()所以我的路线将解决?Id=而不是?Length=?:
<div class="overflowPrevention">
@Html.Grid(Model).Columns(columns =>
{
columns.Add().Encoded(false).Sanitized(false).SetWidth(30).RenderValueAs(o => @Html.CheckBox("checked", false));
columns.Add().Encoded(false).Sanitized(false).RenderValueAs(o => Html.ActionLink("Edit", "Edit", "Edit", new { id = "1" }));
}).AutoGenerateColumns()
</div>
Run Code Online (Sandbox Code Playgroud)
您正在使用错误的重载.
@Html.ActionLink(string linkText, string actionName, string controllerName, object htmlAttributes)
Run Code Online (Sandbox Code Playgroud)
代替
@Html.ActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)
Run Code Online (Sandbox Code Playgroud)
如果您不需要使用它们,则可以为htmlAttributes传递null:
Html.ActionLink("Edit", "Edit", "UserManage", new { id = "1" }, null)
Run Code Online (Sandbox Code Playgroud)
我不知道你为什么要使用编辑,编辑,编辑.我认为这是一个错字,所以我改变它使用UserManage作为控制器名称.
| 归档时间: |
|
| 查看次数: |
2963 次 |
| 最近记录: |