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;}
}
这正是我所需要的。谢谢