[英]Invalid Razor @model generated code
嘗試在Razor局部視圖中添加@model指令時,我遇到了一個奇怪的問題。
使用以下行時:
@model Tuple<int, Tuple<int, string, string>, int>
生成以下類聲明:
public class _Page_views_forms_controls__filter_edit_cshtml : System.Web.Mvc.WebViewPage<Tuple<int {
然后拋出,因為它在語法上無效。
我已經嘗試在括號中包裝類型名稱,刪除類型參數之間的空格,更改類型參數(刪除嵌套的元組),並將其更改為@inherits System.Web.Mvc.WebViewPage<...>
所有看似沒有效果。
我以前從未遇到過這樣的事情。 什么可能導致這種行為?
要擴展我的注釋,您可以創建一個viewmodel類,如下所示:
public class FooViewModel
{
public Tuple<int, Tuple<int, string, string>, int> Data { get; set; }
}
然后在您的控制器中,創建該視圖模型的新實例並將其傳遞給視圖:
@model FooViewModel
@{
var data = Model.Data;
}
在編譯視圖時,這應該有助於Razor引擎。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.