我试图做一点渲染框架,因为我需要更多的控制渲染过程。 FX。如果一个属性需要在选项卡中呈现。自定义渲染与不显眼的验证,不工作,为什么?
所以我下决心,呈现一个文本框,但它不与服务器端或客户端验证(MVC的不显眼的验证)验证
我把我的框架出来,并重新创建一个小eksampel
public class Foo
{
public virtual int Id { get; set; }
[System.ComponentModel.DataAnnotations.Required]
public virtual string Name { get; set; }
public virtual DateTime StartTime { get; set; }
}
我的扩展方法:
public static MvcHtmlString DummyForm(this HtmlHelper html)
{
StringBuilder sb = new StringBuilder();
Type oftype = typeof(Foo);
string[] propertyNameToRender = oftype.GetProperties().Select(o => o.Name).ToArray();
foreach (string s in propertyNameToRender)
{
MvcHtmlString htmlstring = System.Web.Mvc.Html.InputExtensions.TextBox(html, s);
sb.AppendLine(htmlstring.ToHtmlString());
}
return MvcHtmlString.Create(sb.ToString());
}
而且在Edit.cshtml
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true);
@Html.DummyForm()
}
如果我看看呈现的html输出,它的相同(没有验证attri) 任何人都可以告诉我,为什么验证attri,不呈现。
即时通讯使用mvc自己的渲染控件,HtmlHelper从视图中传递,包含所有ModelMetadata和ModelState。
嗨 我也试过了。同样的结果。 我已经编辑了我的顶级帖子,所以你可以选择我的表单上下文。 –