0

我将我一直在开发的一个大型 ASP.NET MVC 应用程序升级到了今天的最新测试版,并且在一些最初的问题之后,我已经让它基本上可以再次工作了。最大的问题是我有这样的事情:

<%= Html.ActionLink("LOGIN", "Index", "Authorization", new { redirect=Request.Url })%>

<%= Html.ActionLink("Edit this page", "Edit", "Webpages", new { id = wp.Id })%>

将链接呈现为:

http://localhost:60321/calendar/edit?Length=8

尽管有不同的“长度”。我不知道为什么会这样;就好像我的路由表已经完全疯了。"calendar/edit/{id}" 是一个有效的路线,但它大约是列表中的第四个。这些以前工作得很好。

我有点不知所措,试图弄清楚发生了什么……链接文本完美呈现;这只是我的一些ActionLink 调用的 url 不起作用。其中一些工作正常。这是一个可以正常工作的示例:

<%= Html.ActionLink("ADMIN", "Index", "ControlPanel") %>

任何帮助将不胜感激!

4

1 回答 1

2

通过查看 ActionLink 上的方法签名,它们看起来已经发生了变化,并且与以下内容匹配:

ActionLink( string linkText, string action,
            object values, object htmlAttributes );

我会尝试在那些不起作用的末尾添加一个 null htmlAttributes,以便它使用这个:

ActionLink( string linkText, string action, string controller,
            object values, object htmlAttributes );

这看起来像:

<%= Html.ActionLink("LOGIN",
                    "Index",
                    "Authorization",
                    new { redirect=Request.Url },
                    null )%>

MVC Beta 1 的源代码位于http://www.codeplex.com/aspnet(SCC服务器此时似乎已关闭 12/18/2008 1:16Pm CST)。我通过智能感知找到了签名。

于 2008-12-18T19:14:08.687 回答