que tienen un modelo, como a continuación:Cómo acceder a C# atributo modelo dentro EditorFor
public class CreateStockcheckJobModel
{
[Engineer(true)]
public EngineerModel Engineer { get; set; }
}
Estoy prestando la propiedad Engineer
en un View<CreateStockcheckJobModel>
usando Html.EditorFor(m => m.Engineer, "EngineerEditor")
.
¿Cómo accedo al valor en el atributo Engineer
(en este caso true
) desde dentro del código en mi vista parcial (EngineerEditor.ascx
)?
A continuación se muestra el código editor de
<%@ Control Language="C#" Inherits="ViewUserControl<EngineerModel>" %>
<% if (PropertyImRenderingHasAttributeWithTrueBooleanValue) // What goes here?
{ %>
<p>Render one thing</p>
<% }
else
{ %>
<p>Render another thing</p>
<% } %>
Soy consciente de reflexión, sin embargo, estoy seguro de cómo utilizar como el atributo no se añade a la clase EngineerModel
se añade a la Engineer
propiedad de la clase CreateStockcheckJobModel
. Si pudiera obtener el PropertyInfo
que estoy procesando desde el código del editor, entonces estaría ordenado, pero no sé cómo obtener esa información. Si sigo la ruta de enumerar todas las propiedades en la clase CreateStockcheckJobModel
, tendré problemas si tengo más de una propiedad EngineerModel
(una podría tener el atributo True
, otra podría tener False
).
¿Qué es lo que quiere obtener? Me parece que estás haciendo mal para lograr tu objetivo. –
Básicamente se trata de hacer una lista de posibles ingenieros para elegir. Quiero que el atributo controle la lista de ingenieros disponibles. –
Pensé que era una aproximación razonable, ya que parece ser lo que está haciendo el atributo 'DisplayFormat' (es decir, cambiar la forma en que se representa un control/editor en función de los datos del atributo) –