我看到无数的示例涉及动态生成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>
答案 0 :(得分:1)
示例中的Url
类实际上是property的ViewPage和also的ViewUserControl,因此,如果您的应用程序构建了正确设置你的遗产,这是不可能的。
尝试重建您的解决方案几次,如果这不能帮助重新启动Visual Studio。 (我曾经对Html
属性有同样的问题,但我相信这是在一个预览版本中,我可以通过升级到下一个预览版/测试版来解决它。)
答案 1 :(得分:1)
解决了它。 Url.Action(新(“注册”)))是问题所在。 Url.Action(“注册”)有效。
感谢您的帮助。这很难解决,因为VS强调错误的代码并给出关于问题的混淆声明。很高兴解决了。
答案 2 :(得分:0)
这可能是因为项目没有正确编译。尝试通过右键单击控制器方法生成View页面,然后单击create view ...并重新编译...