【问题标题】:Razor template In xamarinXamarin 中的 Razor 模板
【发布时间】:2020-12-23 19:15:19
【问题描述】:

我想使用剃须刀模板,我在 windows 上使用 vs19 没有创建新的选项

RazorTemplatePreprocessor

所以,在共享项目中,我创建了一个空文本文件并将扩展名更改为 .cshtml,并将文件自定义工具从属性更改为

RazorTemplatePreprocessor

其中生成了对应的cs文件

在cshtml文件中

@using DataBase.Models;

@model List<Brand>

<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>

    <div class="container">
        <div class="columns">
            @foreach (var m in Model)
            {
                <div class="one-fifth column">
                    <span class="d-inline-block p-3 bg-red text-white">
                        @m.ModelName
                    </span>
                </div>
                <div class="four-fifths column">
                    <span class="d-inline-block p-3 bg-green">
                        @m.ModelDescription
                    </span>
                </div>
            }
        </div>
    </div>
</body>
</html>

但在循环中,模型出现错误(Model中的var m)

当前上下文中不存在名称“模型”

【问题讨论】:

    标签: html xamarin razor xamarin.forms


    【解决方案1】:

    尝试改变(最好通过你的模型类)

    @foreach (var m in Model)
    

    @foreach (var m in @Model)
    

    @model 指令后面应该跟一个Type,这可以是任何自定义类。

    @Model 在整个模板中被引用时,它提供了对生成时传递给模板的对象的引用。

    更新

    例如,您的模型类如下:

    public class YourModel{
        ...
    
        public List<Brand> Brands{ get; set; }
    
        public class Brand{
           public strin  ModelName{ get; set; }
           public strin  ModelDescription{ get; set; }
        }
     }
    

    然后

    @using DataBase.Models;
    
    @model YourModel
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
    </head>
    <body>
    
        <div class="container">
            <div class="columns">
                @foreach (var m in @Model.Brands)
                {
                    <div class="one-fifth column">
                        <span class="d-inline-block p-3 bg-red text-white">
                            @m.ModelName
                        </span>
                    </div>
                    <div class="four-fifths column">
                        <span class="d-inline-block p-3 bg-green">
                            @m.ModelDescription
                        </span>
                    </div>
                }
            </div>
        </div>
    </body>
    </html>
    

    【讨论】:

    • 不幸的是,我之前尝试过但同样的消息
    • @SherifAwad 您可以尝试引用您的模型类,而不是像上面的 List&lt;Brand&gt;
    • 我做了,但即使我尝试了一个新项目也出现同样的错误
    • 关注这个stackoverflow.com/questions/46508002/…后错误消失了
    猜你喜欢
    • 2014-06-14
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多