微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

坚持MVC3 WebGrid数据

如何解决坚持MVC3 WebGrid数据

| 我有一个视图模型,其中包含一个包含列表的对象,并且正在使用WebGrid输出此列表。 该页面当前可以回传到多个动作,这些动作可以编辑/添加到此列表中。我想在所有回发中保留此数据,以便所有操作都可以根据操作在列表上执行的任何更改来执行。无论如何,我可以使Webgrid绑定到控制器中的模型吗?还是我需要使用会话/数据库等其他方法获取列表? 这是我的代码,可帮助您清除我的意思。 我有一个看起来像这样的视图模型:
public class EggBasketviewmodel {
    public Basket EggBasket { get; set; } // Contains list of eggs & other basket info
    public Egg EggToAdd { get; set; }
}
我正在这输出
@model Basket.Models.EggBasketviewmodel
@{
    var grid = new WebGrid(Model.Eggs); // Eggs is my list of eggs
}
@using (Html.BeginForm()) {
        @Html.Partial(\"_CreateOrEditEggBasket\")
        @Html.Partial(\"_CreateOrEditEgg\")
        @grid.GetHtml()
        <p>
            <button name=\"button\" value=\"submitEgg\">Add Egg</button>
            <button name=\"button\" value=\"submitBasket\">Submit Basket</button>
        </p>

}
与我的控制器看起来像这样:
[HttpPost]
public ActionResult Create(EggBasketviewmodel Model,string button)
{
    if (ModelState.IsValid) {
        switch (button) {
            case \"submitEgg\":
                return this.submitEgg(Model);
            case \"submitBasket\":
                return this.submitBasket(Model);
            default:
                break;
        }
    } else {
        return View();
    }
}

public ActionResult SubmitBasket(EggBasketviewmodel Model) {
    eggBasketRepository.InsertOrUpdate(Model.EggBasket);
    eggBasketRepository.Save();
    return RedirectToAction(\"Index\");
}

public ActionResult SubmitEgg(EggBasketviewmodel Model) {
    Model.EggBasket.Eggs.Add(Model.EggToAdd);
    return View(Model);
}
我以这种方式创建它,认为WebGrid将以模型绑定程序能够在POST上将其绑定到我的视图模型的方式输出数据,并因此使用WebGrid的html输出保留所有新的Eggs。 WebGrid是否可以以与模型绑定程序兼容的方式输出列表?还是我最好使用其他方法? 谢谢。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。