【问题标题】:MVC ASP.NET Getting back my ViewData.Model in my View when I submit to a Controller当我提交到控制器时,MVC ASP.NET 在我的视图中取回我的 ViewData.Model
【发布时间】:2008-11-28 13:51:47
【问题描述】:

所以我已经返回 View(object);'d,然后在该页面上按下提交,我如何将该对象返回到控制器中?有什么想法吗?

我的浏览页面是

public partial class Index : ViewPage<List<Models.Pricing>>

    public ActionResult Index(int id, FormCollection datesForm,
                             [Bind(Prefix="")]List<Pricing> model)
    {

        return View("Index", new{id});
    }

【问题讨论】:

    标签: c# asp.net-mvc


    【解决方案1】:

    因为您实际上是在尝试检索模型列表(定价类型),您将需要开发自定义 IModelBinder 并使用它,或者遍历表单集合并将每个定价模型的数据拉出表单参数并重构它们。不过,鉴于您的代码,我不明白您为什么需要这样做。

    真的是要获取与给定id关联的模型数据吗?还是有比您显示的更多的代码?在前一种情况下,最好的办法可能是使用 id 重新运行查询,而不用担心控制器操作的额外参数。

    【讨论】:

    • 是的,价格列表是从数据库中获取的,所以我宁愿获取一个已经填充了信息的对象,也不愿再次运行查询,我不应该打扰吗?
    • 要不再运行查询,您需要将对象的所有数据转储到表单输入中,然后使用表单输入来创建和填充新对象。在你的情况下,最好的事情(我认为)是重新运行查询。
    猜你喜欢
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多