视图模型
[Validator(typeof(ProdutoCategoriaValidator))]
public class ProdutoCategoriaViewModel
{
[HiddenInput(DisplayValue = false)]
public Guid ID { get; set; }
public IEnumerable<SelectListItem> Tipos { get; set; } // <<<<------- Is not showing in my view
[AdditionalMetadata("data-bind", "event: { change: function(data) { Link(data.Nome()); }}")]
public string Nome { get; set; }
[DataType(DataType.Url)]
[AdditionalMetadata("Prefixo", "Produtos/{tipo-de-produto}#")]
public string Link { get; set; }
public int? Ordem { get; set; }
public ProdutoCategoriaViewModel()
{
ID = Guid.NewGuid();
}
}
解决方案
IEnumerable的在我的视图模型不与EditorForModel
视图(_Formulario.cshtml)
@model ProdutoCategoriaViewModel
@using (Html.BeginForm(null, null, FormMethod.Post, new { id="form-produtocategoria", data_bind = "submit: salvar" }))
{
@Html.AntiForgeryToken()
<legend>@Html.MvcSiteMap().SiteMapTitle()</legend>
<fieldset>
@Html.ValidationSummary(false, "Verifique os erros abaixo:")
@Html.EditorForModel()
</fieldset>
<div class="buttons">
@Html.ActionLink("Cancelar", "Index")
<input type="submit" value="SALVAR" />
</div>
}
SelectListItem.cshtml
显示10@model IEnumerable<SelectListItem>
@Html.DropDownListFor(m => m, Model)
<p>Test</p>
结果
完整映像:http://i.imgur.com/I7HxA.png
注
- 我试图把属性 “UIHint”,但仍显示什么!
问题
我在做什么错?
感谢您的解释..我不会这样做每个属性,我会至少使用'UIHint'属性。问题是,即使我添加了'UIHint',没有任何反应! – ridermansb 2012-03-15 17:06:51
@Riderman de Sousa Barbosa,没有任何反应,因为正如我所说的,在默认的对象模板中,ASP.NET MVC不会递归到复杂的属性。所以即使你在你的Tipos属性上放置一个UIHint,它也会被忽略。您需要修改Brad Wilson显示的默认Object.cshtml模板。 – 2012-03-15 17:12:09
我明白了。那么我想避免这种情况,但我必须这样做。谢谢您的帮助! – ridermansb 2012-03-15 17:15:44