html.displayfor 模板,templates – 嵌套的@ Html.DisplayFor(model => baseClass,“BaseClass”),用于不渲染基类模板...

探讨了在使用子类模板(Cheese.cshtml)时如何正确地渲染从基类(Product.cshtml)继承的公共字段,以避免重复,并确保每个子类能够显示其特有的字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几个子类(例如,Cheese)共享从基类(Product)派生的公共属性,其属性如SKU,Name和Description.

为了避免在渲染显示/编辑器模板时出现重复,我希望每个子类模板(Cheese.cshtml)在其共享公共基类模板(Product.cshtml)下面呈现其唯一字段.

但是,从派生类转换为基类(Product)cheese并尝试在子类模板中显示其模板没有任何效果.

DisplayTemplate文件结构:

.\Views\Shared\DisplayTemplates

.\Product.cshtml -- renders common base class fields

.\Cheese.cshtml -- renders unique class fields and calls Product.cshtml

Cheese.chtml:

@model Application.Data.Models.Cheese

@{

var product = (Application.Data.Models.Part)Model;

}

Base Product Fields:

@Html.DisplayFor(x => products,"Product") @* no effect! *@

@Html.LabelFor(m => Model.UniqueProperty)
@Html.DisplayFor(m => Model.UniqueProperty)

转换到基类并呈现Product.cshtml模板可以从View中正常工作,但不能在子类模板中工作.

如何从子类模板中为基类渲染公共模板?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值