ASP.NET MVC中如何从[UIHint]指定的模板访问实例字段?
方法1:直接访问父级模型(适合固定模型场景)
编辑器模板默认绑定的是Version字段的实例,但你可以通过ViewData.Model拿到整个页面绑定的父模型对象,强转后直接取Name字段即可。
在CustomDDL.cshtml模板中写入以下代码:
@model AppVersion @{ // 替换为你实际的模型类名 var fullModel = (YourModelClass)ViewData.Model; string nameValue = fullModel.Name; } // 后续直接使用nameValue即可 <span>关联Name值:@nameValue</span>
方法2:通过额外ViewData传参(适合通用模板场景)
如果你需要CustomDDL模板支持复用在不同模型上,不想硬编码模型类型,可以在渲染编辑器模板时主动把Name的值传入模板:
- 主视图中调用模板时传参:
@Html.EditorFor(m => m.Version, new { PassedName = Model.Name })
- 在
CustomDDL.cshtml中取值:
@{ string nameValue = ViewData["PassedName"] as string; }
注意:方法1会和固定模型类型绑定,模板复用性差;方法2灵活性更高,更推荐通用模板使用。
内容的提问来源于stack exchange,提问作者Verych
相关产品推荐
相关产品推荐

