把Razor转换成ASPX我做错了什么
本文关键字:错了 什么 ASPX Razor 转换 | 更新日期: 2023-09-27 18:22:51
我正在做一个简单的(我认为)MVC教程。唯一的问题是教程使用Razor
,而我需要使用ASPX
。我正在寻找的工作使用它。
我花了几个小时在互联网上寻找可能性,但我仍然收到这个错误:
编译错误
描述:编译所需的资源时出错为该请求提供服务。请查看以下内容具体的错误详细信息,并适当地修改源代码
编译器错误消息:CS1061:"object"不包含定义对于"Name"且没有接受第一个参数的扩展方法"Name"未能找到类型为"object"的(是否缺少using指令或程序集引用?)来源错误:第12行:
第13行:
第14行:餐厅:<%:型号名称%>
第15行:评分:<%:型号。评级%>
第16行:
控制器代码为:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using EdeToFood.Models;
namespace EdeToFood.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
var model = new RestaurantReview()
{
Name = "Tersiguil's",
Rating = 9
};
return View(model);
}
public ActionResult About()
{
ViewBag.Location = "Maryland, USA";
return View();
}
}
}
ASPX是:
%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Home Page
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2><%: ViewBag.Message %></h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
<div >
Restaurant: <%: Model.Name %>
Rating: <%: Model.Rating %>
</div>
</asp:Content>
如果您想使用强类型视图,您必须在以下行中定义页面的View Model
:
Inherits="System.Web.Mvc.ViewPage<TheViewModel>" %>
所以在你的情况下应该是这样;
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<RestaurantReview>" %>
如果您没有像以前那样指定任何内容,那么ViewModel
将是对象,而且正如您所知,它没有Name
或Rating
属性。
我相信您不希望冒号作为脚本分隔符的一部分:
<h2><% ViewBag.Message %></h2>
您也可以使用带有等号的不同语法作为Response.Write()
的快捷方式,例如
<%=DateTime.Now %>
源