在我看来,网址类型不可用?

时间:2009-06-02 22:20:53

标签: c# asp.net-mvc

我看到无数的示例涉及动态生成URL的视图中的“ Url.Action ”。 (参见下面的示例代码。)

问题:我的观点中不存在类型/类“Url”!没有IntelliSense,并且编译站点会导致“预期类型”异常。我如何在那里得到它?

源代码片段(这是一个例子):

<form id="register-form" action="<%= Url.Action(new(action="Register")) %>" method="post">
//inputs etc
</form>

我正在使用最新版本的MVC。

这是整个页面(通过“生成视图”生成):

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">Register</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">


<h2>Register</h2>

<form id="register-form" action="<%= Url.Action(new(action="Register")) %>" method="post">
<fieldset>
    <label for="emailAddress"><%= Resources.Labels.EmailAddress %>: </label> <input id="emailAddress" type="text" />
    <label for="password"><%= Resources.Labels.Password %>: </label> <input id="password" type="password" />

    <input id="register-submit" value="<%= Resources.Labels.SubmitRegistration %>" type="submit" />
</fieldset>
</form>

3 个答案:

答案 0 :(得分:1)

示例中的Url类实际上是propertyViewPagealsoViewUserControl,因此,如果您的应用程序构建了正确设置你的遗产,这是不可能的。

尝试重建您的解决方案几次,如果这不能帮助重新启动Visual Studio。 (我曾经对Html属性有同样的问题,但我相信这是在一个预览版本中,我可以通过升级到下一个预览版/测试版来解决它。)

答案 1 :(得分:1)

解决了它。 Url.Action(新(“注册”)))是问题所在。 Url.Action(“注册”)有效。

感谢您的帮助。这很难解决,因为VS强调错误的代码并给出关于问题的混淆声明。很高兴解决了。

答案 2 :(得分:0)

这可能是因为项目没有正确编译。尝试通过右键单击控制器方法生成View页面,然后单击create view ...并重新编译...