Suj*_*yam 27 asp.net-mvc html.actionlink
这个HTML有什么问题吗?我想在母版页中有一个链接导航到"CreateParts"视图.我有动作'CreateParts',它在控制器'PartList'中有一个参数parentPartId.
<li id="taskAdminPartCreate" runat="server">
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 })%></li>
Run Code Online (Sandbox Code Playgroud)
我的控制器动作就像
public ActionResult CreateParts(int parentPartId)
{
HSPartList objHSPart = new HSPartList();
objHSPart.Id = parentPartId;
return View(objHSPart);
}
Run Code Online (Sandbox Code Playgroud)
当我点击SiteMaster菜单中的"创建新零件"时,我会遇到异常.请帮我解决这个问题.
arc*_*hil 63
您正在使用不正确的过载.你应该使用这个重载
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
Object routeValues,
Object htmlAttributes
)
Run Code Online (Sandbox Code Playgroud)
而正确的代码将是
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 }, null)%>
Run Code Online (Sandbox Code Playgroud)
注意最后的额外参数.对于其他重载,请访问LinkExtensions.ActionLink方法.正如您所看到的string, string, string, object,您没有尝试使用过载.
kro*_*lik 10
您正在使用ActionLink的错误重载.试试这个
<%= Html.ActionLink("Create New Part", "CreateParts", "PartList", new { parentPartId = 0 }, null)%>
Run Code Online (Sandbox Code Playgroud)
除了接受的答案:
如果你打算用
@Html.ActionLink("LinkName", "ActionName", "ControllerName", new { @id = idValue, @secondParam= = 2 },null)
Run Code Online (Sandbox Code Playgroud)
这将创建actionlink,您无法为链接创建新的自定义属性或样式.
但是,ActionLink扩展中的第4个参数将解决该问题.以您的方式使用第4个参数进行自定义.
@Html.ActionLink("LinkName", "ActionName", "ControllerName", new { @id = idValue, @secondParam= = 2 }, new { @class = "btn btn-info", @target = "_blank" })
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
117639 次 |
| 最近记录: |