Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 自定义渲染不引人注目的验证,不工作,为什么?_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 自定义渲染不引人注目的验证,不工作,为什么?

Asp.net mvc 自定义渲染不引人注目的验证,不工作,为什么?,asp.net-mvc,Asp.net Mvc,我正在尝试做一点渲染框架,因为我需要对渲染过程进行更多的控制。外汇。如果需要在选项卡中呈现属性 因此,我开始渲染一个文本框,但它不使用服务器端或客户端验证来验证MVC非侵入性验证 我已经取出了我的框架,并重新创建了一个小eksampel public class Foo { public virtual int Id { get; set; } [System.ComponentModel.DataAnnotations.Required]

我正在尝试做一点渲染框架,因为我需要对渲染过程进行更多的控制。外汇。如果需要在选项卡中呈现属性

因此,我开始渲染一个文本框,但它不使用服务器端或客户端验证来验证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输出,没有验证属性也是一样的 谁能告诉我,为什么没有呈现验证属性

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中是什么。希望您能理解: