微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xamarin 中的剃刀模板

如何解决xamarin 中的剃刀模板

我想使用 razor 模板我在 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>

但在循环中模型有错误模型中的var m)

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

解决方法

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

@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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。