Asp.net mvc 自定义渲染不引人注目的验证,不工作,为什么?
我正在尝试做一点渲染框架,因为我需要对渲染过程进行更多的控制。外汇。如果需要在选项卡中呈现属性 因此,我开始渲染一个文本框,但它不使用服务器端或客户端验证来验证MVC非侵入性验证 我已经取出了我的框架,并重新创建了一个小eksampelAsp.net mvc 自定义渲染不引人注目的验证,不工作,为什么?,asp.net-mvc,Asp.net Mvc,我正在尝试做一点渲染框架,因为我需要对渲染过程进行更多的控制。外汇。如果需要在选项卡中呈现属性 因此,我开始渲染一个文本框,但它不使用服务器端或客户端验证来验证MVC非侵入性验证 我已经取出了我的框架,并重新创建了一个小eksampel public class Foo { public virtual int Id { get; set; } [System.ComponentModel.DataAnnotations.Required]
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输出,没有验证属性也是一样的
谁能告诉我,为什么没有呈现验证属性
Im使用mvc自己的呈现控件,从视图中传递HtmlHelper,以及所有ModelMetadata和ModelState。初始化FormContext时呈现不引人注目的验证数据val-*属性。Html.BeginForm就是这样做的,所以
@using (Html.BeginForm())
{
@Html.DummyForm()
}
应使用验证属性呈现输入 初始化FormContext时,将呈现不引人注目的验证数据val-*属性。Html.BeginForm就是这样做的,所以
@using (Html.BeginForm())
{
@Html.DummyForm()
}
应使用验证属性呈现输入 有一件事似乎很奇怪,那就是您自己正在调用System.Web.Mvc.Html.InputExtensions.TextBox方法。此方法由Html.TextBox和其他强类型扩展在内部调用。请试着换衣服
MvcHtmlString htmlstring = System.Web.Mvc.Html.InputExtensions.TextBox(html, s);
到
有一件事情看起来很奇怪,那就是您自己正在调用System.Web.Mvc.Html.InputExtensions.TextBox方法。此方法由Html.TextBox和其他强类型扩展在内部调用。请试着换衣服
MvcHtmlString htmlstring = System.Web.Mvc.Html.InputExtensions.TextBox(html, s);
到
我尝试创建一个新的ASP.net MVC站点,并从RenderProject中添加了代码,效果很好。结论是我的asp.NETMVC项目搞砸了。我不知道为什么我尝试创建一个新的ASP.net MVC站点,并从RenderProject中添加了代码,效果很好。结论是我的asp.NETMVC项目搞砸了。我不知道为什么嗨,我也试过了。同样的结果。我已经编辑了我的帖子,所以你可以使用我的表单上下文。嗨,我也试过了。同样的结果。我已经编辑了我的文章,所以你可以使用我的表单上下文。我需要对渲染进行更多控制,当我传入一个模型时,我需要启用一个属性作为下拉列表,一个属性作为输入,许多属性需要在选项卡中渲染。这种形式的控制,现在不在MVC框架中,还是我遗漏了什么?因此,我知道如何调用Render方法,但我知道如何对框架说,我需要这个put box类型,我知道它在这个选项卡jquery中是什么。希望这对你有意义:我需要对渲染有更多的控制,当我传入一个模型时,我需要能够将一个属性渲染为下拉列表,一个属性渲染为输入,许多属性渲染为选项卡。这种形式的控制,现在不在MVC框架中,还是我遗漏了什么?因此,我知道如何调用Render方法,但我知道如何对框架说,我需要这个put box类型,我知道它在这个选项卡jquery中是什么。希望您能理解: