加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP MVC区域和ActionLink

发布时间:2020-12-15 23:14:28 所属栏目:asp.Net 来源:网络整理
导读:我正在一个新项目,我想使用Phil Haack Areas(1)的想法Steve Sanderson的调整(2).我有一个简单的根视图与动作链接到一个区域(Foo).生成的URL具有正确的区域,但是它将根控制器(Bar)附加到最后.这是我的根视图代码: asp:Content ID="Content2" ContentPlaceHol
我正在一个新项目,我想使用Phil Haack Areas(1)的想法Steve Sanderson的调整(2).我有一个简单的根视图与动作链接到一个区域(Foo).生成的URL具有正确的区域,但是它将根控制器(Bar)附加到最后.这是我的根视图代码:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<h2>Index</h2>

<%= Html.ActionLink("Foo Index Page","Index",new { area="Foo" } )%>

</asp:Content>

这是它产生的URL:

本地主机:6494 /美孚/酒吧

任何想法为什么“/ Bar”在那里?

(1):haacked.com/archive/2008/11/04/areas-in-aspnetmvc.aspx

(2):blog.codeville.net/2008/11/05/app-areas-in-aspnet-mvc-take-2/

解决方法

我找到了一个解决方案我不认为这是适当的,所以我会要求改进.通过指定控制器名称,我可以正确地获取URL的形式. I.E.
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

<h2>Index</h2>

<%= Html.ActionLink("Foo Index Page",new { area="Foo",controller="Baz" } )%>

</asp:Content>

一旦我这样做,那么URL是正确的

本地主机:6494 /美孚

为什么这是一个问题? Phil的演示使用名为HomeController的控制器.我不知道(因为我无法追踪)Html.ActionLink()方法是如何构造URL的;但它看起来好像是依赖于我没有的HomeController存在的默认情况.

如果有人建议如何让未命名的控制器为默认,请回复.谢谢

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读