C# MVC中部分视图中的表单提交
我正在开发一个简单的mvc应用程序。代码如下: 模型.cs:C# MVC中部分视图中的表单提交,c#,.net,asp.net-mvc,asp.net-mvc-4,C#,.net,Asp.net Mvc,Asp.net Mvc 4,我正在开发一个简单的mvc应用程序。代码如下: 模型.cs: public class CustomModel { public IEnumerable<lang> lstlang { get; set; } public IEnumerable<org> lstOrg { get; set; } } public class lang { public int langid { get; set; } public string langNa
public class CustomModel
{
public IEnumerable<lang> lstlang { get; set; }
public IEnumerable<org> lstOrg { get; set; }
}
public class lang
{
public int langid { get; set; }
public string langName { get; set; }
}
public class org
{
public int orgId { get ;set;}
public string orgName { get; set; }
}
Index.cshtml
@model CustomModel
@Html.TextboxFor(x => x.lang.FirstOrDefault().id);
<input type="button" id="btn" />
@Html.RenderPartial("Partial", model)
@model自定义模型
@TextboxFor(x=>x.lang.FirstOrDefault().id);
@Html.RenderPartial(“部分”,模型)
Partial.cshtml
@model CustomModel
@Html.TextboxFor(x => x.lang.FirstOrDefault().id);
<input type="submit" id="submit" />
@model自定义模型
@TextboxFor(x=>x.lang.FirstOrDefault().id);
问题是,当我在Partial.cshtml
页面中单击submit按钮,并在public Action Partial(FormCollection frm,CustomModel model)
中检查httppost方法中的模型时,对于lstlang
和lstOrg
,模型包含null
,但是FormCollection[0]
将给出所选文本框的值
我遗漏了什么,或者这是使用局部视图的正确方法吗?不要使用
FirstOrDefault()
。如果您想用集合将某些内容发布回前端,则需要使用索引
Public class CustomModel
{
public ICollection<lang> lstlang { get; set; }
public ICollection<org> lstOrg { get; set; }
}
@HTML.textboxfor(x=>x.lang[0].id);
公共类自定义模型
{
公共ICollection lstlang{get;set;}
公共ICollection lstOrg{get;set;}
}
@HTML.textboxfor(x=>x.lang[0].id);
查看您生成的html(特别是name
属性)@html.textboxfor(x=>x.lang.firstordefault().id)代码>与您的模型没有任何关系。了解绑定到集合的一些基本模型。
Public class CustomModel
{
public ICollection<lang> lstlang { get; set; }
public ICollection<org> lstOrg { get; set; }
}
@HTML.textboxfor(x=>x.lang[0].id);