gpt4 book ai didi

html-helper - 如何将模型传递给 Razor 页面自定义助手

转载 作者:行者123 更新时间:2023-12-04 02:43:04 26 4
gpt4 key购买 nike

我想将模型传递给自定义 Razor 助手以执行重复的 Razor 生成任务。我想要生成的代码如下所示:

@foreach (Place P in Model.Places)
{
<div class="col-md-4 clsBorder">
@if (P.prop1 != null && P.prop1 != "")
{<div class="row ">
<div class="col-6">
@Html.DisplayNameFor(model => P.prop1 )
</div>
<div class="col-6">
@Html.DisplayFor(model => P.prop1 )
</div>
</div>}
@if (P.prop2 != null && P.prop2 != "")
{<div class="row">
<div class="col-6">
@Html.DisplayNameFor(model => P.prop2)
</div><div class="col-6">

@Html.DisplayFor(model => P.prop2)
</div>
</div>}
</div>
}

显然, Model.Places 中可能有超过 2 个 Place 对象。 ,以及每个 Place 对象中的 prop1 和 prop2。

那么我如何传递 Places 对象,它可能是一个 List<customClass> ,并为每个属性生成代码?

最佳答案

怎么样,你命名你的辅助方法并在参数模型周围加上括号。

@Util.MyUtilMethod(Model.Places)

假设您的辅助方法调用将模板呈现为字符串的服务
public static class Util
{
//...
public async string MyUtilMethod(List<customClass> places)
{
return await this._viewRenderService.RenderToStringAsync(
"blahContext/blahAction",
new blahContext.blahModel { Places = places});
}
//...
}

如何做的一个例子 Render a Razor Page to string .

关于html-helper - 如何将模型传递给 Razor 页面自定义助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54132814/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com