POST操作包含MVC / ASP.NET列表模型 [英] POSTing a Model containing a List in MVC / ASP.NET

查看:180
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆