没有javascript的复杂形式?

时间:2011-08-01 08:42:46

标签: asp.net-mvc-2

我正在尝试为Web应用程序构建1.0版本,我想构建第一个没有任何javascript / ajax等的预览版本,我打算稍后添加。我遇到了一些有很多选项的复杂形式的问题。 例如,如果是和订单表单,用户可以添加和删除产品,添加和删除服务,键入消息和检查选项,但所有在单页和提交订单。现在我的问题是在请求之间保持表单的状态。 保持表单视图模型状态的最佳方法是什么?让我们说当用户添加/删除产品到他们的orde时 我是否必须每次都将整个viewmodel传递给控制器​​的AddProdcut()/ RemoveProduct()方法,然后返回更新后的viewmodel?任何示例,链接和建议将不胜感激。

编辑:我刚刚发现了Session和TempData,这些问题是否合适?

1 个答案:

答案 0 :(得分:1)

web窗体

你要做的是为表单创建模型,例如: 并将信息添加到ItemsToSave集合中。这将负责保存数据。

class FormModel{
 public bool Option1{get;set;}
 public string DeliveryLocation{get;set;}
 public IEnumerable<key,value> ItemsToSave{get;set;}
}

后 在控制器中你可以这样做

public partial FormController : controller.. {

//this part create blank view
  [HttpPost]
  public ActionResult StartForm(){
 return View( new FormModel());
}

[HttpGet]
    public ActionResult StartForm(FormModel model){
if (!ModelState.IsValid) return model;

//and here do your saving logic.
}
}

}