我正在为我的布局视图模型使用抽象基类尝试新的东西(对我而言)。
问题在于,当我按原样运行网站时,它会抛出一个非常神秘的(对我而言)异常。这个例外意味着什么,我可以做些什么来解决它?
布局
@model MyApp.Core.ViewModels.LayoutViewModel
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@Model.Title</title>
</head>
<body>
<div>
@RenderBody()
</div>
</body>
</html>
索引
@model MyApp.Core.ViewModels.Home.IndexViewModel;
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>@Model.Body</h1>
LayoutViewModel
namespace MyApp.Core.ViewModels
{
public abstract class LayoutViewModel
{
public string Title { get; set; }
}
}
IndexViewModel
namespace MyApp.Core.ViewModels.Home
{
public class IndexViewModel : LayoutViewModel
{
public string Body { get; set; }
}
}
控制器
[HttpGet]
public ActionResult Index()
{
var model = new IndexViewModel
{
Title = "Hello World",
Body = "Hello World"
};
return View(model);
}
和例外
编译错误说明:期间发生错误 编译服务此请求所需的资源。请 查看以下特定错误详细信息并修改您的来源 代码恰当。
编译器错误消息:CS1003:语法错误,'&gt;'预期
来源错误:
Line 27: Line 28: Line 29: public class _Page_Views_Home_Index_cshtml : System.Web.Mvc.WebViewPage<FutureStateMobile.Core.ViewModels.Home.IndexViewModel;> { Line 30: Line 31: #line hidden
源文件:c:\ Users \ Chase \ AppData \ Local \ Temp \ Temporary ASP.NET 文件\ ROOT \ b314e0d7 \ 36f522db \ App_Web_index.cshtml.a8d08dba.yr7oemfz.0.cs 行:29
答案 0 :(得分:39)
比较和对比:
<强>布局强>
@model MyApp.Core.ViewModels.LayoutViewModel
<强>索引强>
@model MyApp.Core.ViewModels.Home.IndexViewModel;
知道了吗?这是答案:
其中一个人有
;
,不应该在那里
答案 1 :(得分:1)
我只是添加两行,然后删除...问题解决了!
@model MyApp.Core.ViewModels.LayoutViewModel
@model MyApp.Core.ViewModels.Layout_OrOther_Model
尝试编译,你得到一个错误(只有一个模型等等,等等......) 删除其中一个。
@model MyApp.Core.ViewModels.LayoutViewModel
编译。
这对我有用!
答案 2 :(得分:-1)
不好:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<DSNY.Core.Interfaces.IUser>" %>
与
好:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IEnumerable<DSNY.Core.Interfaces.IUser>>" %>
编译器不断告诉我,它期待额外的>
。