tengo un problema extraño con respecto al editor Para el ayudante de MVC3. Aquí está la cosa: estoy tratando de mostrar un checkboxList y funciona si no llamo explícitamente el nombre de la plantilla. Sin embargo, si trato de usar el nombre de la plantilla, arroja una excepción que dice que estoy tratando de pasar una lista genérica cuando simplemente debería pasar mi viewModel. Voy a mostrar algo de código para hacerlo más comprensible:asp.net-mvc3 Editor Para el problema del nombre de la plantilla
modelo de vista
public class ChkViewModel
{
public string ContractName {get;set;}
public string Contract {get;set;}
public bool Checked {get;set;}
}
La plantilla EditorFor (se llama ContractTemplate)
@model Models.ChkViewModel
<p>
@Html.HiddenFor(x => x.Contract)
@Html.LabelFor(x => x.ContractName , Model.ContractName)
@Html.CheckBoxFor(x => x.Checked, new { @class = "chkContract" })
</p>
extracto de mi vista
<div id="contractContainer">
@Html.EditorFor(item=>item.ContractList)
</div>
Esto funciona bien. Pero tratar de hacer esto:
<div id="contractContainer">
@Html.EditorFor(item=>item.ContractList, "ContractTemplate")
</div>
Se lanza el InvalidOperationException
diciendo que tengo que pasar un ChkViewModel sencilla y no un ListaGenerica ChkViewModel.
Solo estoy pidiendo esto porque traté de crear otra checkboxlist y no pude hacer que funcionara (ni siquiera mostrar las casillas de verificación) y cuando traté de establecer el nombre de la plantilla, para que al menos pudiera mira las casillas de verificación, arrojó ese error.
¿por qué quiere especificar el nombre de la plantilla? – epzee
Como mencioné en el último párrafo, no lo necesitaba antes pero cuando traté de crear otro ejemplo, simplemente no funcionó. Además, si es un parámetro, ¿por qué no debería usarlo? ¿No sería mejor saber qué plantilla estoy usando, específicamente? – AdrianoRR