簡體   English   中英

無效的Razor @model生成的代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM