Jer*_*emy 154 asp.net-mvc asp.net-mvc-areas asp.net-mvc-2
我有一个共享的母版页,我在我的mvc 2应用程序中使用了2个不同的区域.母版页有一个动作链接,当前指定控制器和动作,但当然如果我在错误的区域,链接不起作用.我认为带有区域参数的actionlink没有重载,是否可以这样做?
Jer*_*emy 243
弄清楚了..
Html.ActionLink("Link Text", "ActionName", "ControllerName", new { Area = "AreaName" }, new{})
Run Code Online (Sandbox Code Playgroud)
Fra*_*man 77
我之后碰到的东西,我想其他人可能遇到:如果你需要从区域内链接到不在区域内的动作,你仍然需要将区域指定为空字符串.
例如,我将一些MVC代码移动到一个区域,发现我需要更新引用站点上其他页面的母版页中的URL.
要为不在某个区域内的内容指定网址,请使用
Html.ActionLink("home", "Index", new { area = "", controller = "Home" })
Run Code Online (Sandbox Code Playgroud)
小智 15
使用:
Html.ActionLink("Text", "ActionName", "ControllerName", new { Area = "AreaName" }, null)
Run Code Online (Sandbox Code Playgroud)
注意:第4个参数是传递路由Values,如果传递一个空参数,它将考虑根结构,如果传递适当的值,则将其用作区域.
另外不要忘记使用null或new{}作为第5个参数,因为传递null或new {}创建动作链接时不会重载方法(text,action,controller,route data)或者(text,action,controller,route data,html attribute)因此使用正确的方法
小智 11
在MVC2给area="root"我工作如下
Html.ActionLink("Home", "Index", "Home", new { Area = "root" }, new{})
Run Code Online (Sandbox Code Playgroud)
如果在View中大量使用某个区域,可以使用一个巧妙的技巧将其定义为顶部的变量:
@{ var awesomeArea = new { area = "Awesome" }; }
@Html.Action("Something", "Somewhere", awesomeArea)
@Html.ActionLink("Stuff", "FooBar", awesomeArea)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77673 次 |
| 最近记录: |