Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
Razor MVC 5模型内部模型返回控制器_Razor_Model_Controller_Asp.net Mvc 5 - Fatal编程技术网

Razor MVC 5模型内部模型返回控制器

Razor MVC 5模型内部模型返回控制器,razor,model,controller,asp.net-mvc-5,Razor,Model,Controller,Asp.net Mvc 5,我有一个模型,里面有两个模型: public class ASayfa { public UArama u = new UArama(); public HArama h = new HArama(); } ASayfa中的类如下所示: public class UArama { public string ad { get; set; } public bool varmi { get; set; }

我有一个模型,里面有两个模型:

public class ASayfa
    {
        public UArama u = new UArama();
        public HArama h = new HArama();
    }
ASayfa中的类如下所示:

 public class UArama
    {
        public string ad { get; set; }
        public bool varmi { get; set; }
    }
public class HArama
        {
            public string hazir { get; set; }
            public bool varmi { get; set; }
        }
我认为:

 @using (Html.BeginForm("uArama", "Home"))
    {
@Html.TextBoxFor(m => m.u.ad, new { @class = "suggestBox ui-autocomplete-input", id = "ad", autocomplete = "off" })

   <input type="submit" value=@Resources.UAramaTus class="search-btn" onclick="">
}
使用(Html.BeginForm(“uArama”、“Home”)) { @TextBoxFor(m=>m.u.ad,新的{@class=“suggestBox ui自动完成输入”,id=“ad”,autocomplete=“off”}) } 当我提交表单时,模型是空的。以前,我只有UArama类,它是工作的,但当我把它改为在ASayfa类中时,它开始返回空的。
我怎样才能做到这一点?我需要在一个视图中使用两个模型,因为将有一个次要的hml.beginform和它自己的submit。

一个解决方案是为每个子类型创建一个
EditorTemplate
UArama u
HArama h

编辑器模板是一个.cshtml(或.aspx)文件,用于处理特定类型的任何模型实例

按照ASP.NETMVC的惯例,编辑器模板放置在
/Views/Shared/EditorTemplates
中。默认情况下,当您调用以下命令时,将使用放置在此位置的模型类型为
@model mynamespace.UArama
的编辑器模板:

@Html.EditorFor(m => m.u) 
我发现,当我以这种方式使用编辑器模板时,模型绑定工作得很好。

我找到了解决方案。 在主要类别中:

public class ASayfa
    {
        public UArama u = new UArama();
        public HArama h = new HArama();
    }
将其更改为:

public class ASayfa
        {
            public UArama u {get; set;}
            public HArama h {get; set;}
        }

这正是我所需要的。谢谢