【发布时间】:2012-09-09 12:05:28
【问题描述】:
我有一个如下模型:
public class CreateStockcheckJobModel
{
[Engineer(true)]
public EngineerModel Engineer { get; set; }
}
我正在使用Html.EditorFor(m => m.Engineer, "EngineerEditor") 在View<CreateStockcheckJobModel> 中呈现Engineer 属性。
如何从部分视图 (EngineerEditor.ascx) 的代码中访问 Engineer 属性中的值(在本例中为 true)?
下面是我的编辑器代码
<%@ Control Language="C#" Inherits="ViewUserControl<EngineerModel>" %>
<% if (PropertyImRenderingHasAttributeWithTrueBooleanValue) // What goes here?
{ %>
<p>Render one thing</p>
<% }
else
{ %>
<p>Render another thing</p>
<% } %>
我知道反射,但是我不确定如何使用它,因为该属性未添加到 EngineerModel 类中,而是添加到 CreateStockcheckJobModel 类的 Engineer 属性中。如果我能得到我正在从编辑器代码中渲染的PropertyInfo,那么我会被排序,但我不知道如何获取该信息。如果我沿着枚举CreateStockcheckJobModel 类中的所有属性的路线走,那么如果我有多个EngineerModel 属性(一个可能有True 的属性,另一个可能有@987654336 @)。
【问题讨论】:
-
你想得到什么?在我看来,你做错了实现你的目标
-
它基本上呈现了一个可供选择的工程师列表。我希望该属性控制可用工程师的列表。
-
我认为这是一个合理的方法,因为它似乎是
DisplayFormat属性正在做的事情(即根据属性中的数据更改控件/编辑器的呈现方式)
标签: c# asp.net-mvc-2 partial-views