POST操作包含MVC / ASP.NET列表模型 [英] POSTing a Model containing a List in MVC / ASP.NET
本文介绍了POST操作包含MVC / ASP.NET列表模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道如何后
对象在ASP.NET表单列表,但假设我要后
同时一些其他的价值?
有没有办法有一个形式,这样
<形式方法=POSTACTION =测试>
<输入类型=文本名称=名字值=Roryok/>
<输入类型=文本名称=电子邮件值=idontgiveoutmyemail@overtheinter.net/>
<输入类型=文本名称=[0] .hobbyVALUE =点播/>
<输入类型=文本名称=[0] .LEVELVALUE =业余/>
<输入类型=文本名称=[0] .hobbyVALUE =fargling/>
<输入类型=文本名称=[0] .LEVELVALUE =中间/>
<输入类型=文本名称=[2] .hobbyVALUE =错乱/>
<输入类型=文本名称=[2] .LEVELVALUE =专家/>
< /表及GT;
发布到看起来像这样的方法?
[HttpPost]
公众的ActionResult测试(MyViewModel模型){
///做一些东西与模型这里
返回查看();
}公共类MyViewModel {
公共字符串名称{;组; }
公共字符串电子邮件{获得;组; }
公开名单<嗜好及GT;爱好{搞定;组; }
}公共类业余爱好{
公共字符串的爱好{搞定;组; }
公共字符串水平{搞定;组; }
}
解决方案
试试这个:
<形式方法=POSTACTION =测试>
<输入类型=文本名称=名字值=Roryok/>
<输入类型=文本名称=电子邮件值=idontgiveoutmyemail@overtheinter.net/>
<输入类型=文本名称=爱好[0] .hobbyVALUE =点播/>
<输入类型=文本名称=爱好[0] .LEVELVALUE =业余/>
<输入类型=文本名称=爱好[1] .hobbyVALUE =fargling/>
<输入类型=文本名称=爱好[1] .LEVELVALUE =中间/>
<输入类型=文本名称=爱好[2] .hobbyVALUE =错乱/>
<输入类型=文本名称=爱好[2] .LEVELVALUE =专家/>
< /表及GT;
I know how to post
a list of objects to a form in ASP.NET, but suppose I want to post
some other values at the same time?
Is there a way to have a form, like this
<form method="POST" action="test">
<input type="text" name="name" value="Roryok" />
<input type="text" name="email" value="idontgiveoutmyemail@overtheinter.net" />
<input type="text" name="[0].hobby" value="dibbling" />
<input type="text" name="[0].level" value="amateur" />
<input type="text" name="[0].hobby" value="fargling" />
<input type="text" name="[0].level" value="intermediate" />
<input type="text" name="[2].hobby" value="garbling" />
<input type="text" name="[2].level" value="expert" />
</form>
Post to a method that looks something like this?
[HttpPost]
public ActionResult test(MyViewModel model){
/// do some stuff with the model here
return View();
}
public class MyViewModel{
public string name { get; set; }
public string email { get; set; }
public List<Hobby> hobbies { get; set; }
}
public class Hobby{
public string hobby { get; set; }
public string level { get; set; }
}
解决方案
Try this:
<form method="POST" action="test">
<input type="text" name="name" value="Roryok" />
<input type="text" name="email" value="idontgiveoutmyemail@overtheinter.net" />
<input type="text" name="hobbies[0].hobby" value="dibbling" />
<input type="text" name="hobbies[0].level" value="amateur" />
<input type="text" name="hobbies[1].hobby" value="fargling" />
<input type="text" name="hobbies[1].level" value="intermediate" />
<input type="text" name="hobbies[2].hobby" value="garbling" />
<input type="text" name="hobbies[2].level" value="expert" />
</form>
这篇关于POST操作包含MVC / ASP.NET列表模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文