如何在多个MVC 4.0上保留模型值

时间:2014-05-09 13:21:18

标签: asp.net-mvc asp.net-mvc-4

在一个视图中,我有3个像这样的提交按钮

<input type="submit" id="btnUpload" name="button" value="Upload" />
<input type="submit" id="btnDownload" name="button" value="Download" /> 
<input type="submit" id="btnSave" name="button" value="Save" />

这些按钮位于开始表单

内 控制器中的

 [HttpPost]
 [ValidateAntiForgeryToken]
 public ActionResult BulkRenewalProcess(BusinessViewModel model, List<HttpPostedFileBase> BulkFile, string button)
 {
        if (button == "Upload")
        {
           model.PublicId = lstId;
           return View(model);
        }
        else if(button == "Download")
        {
           // After my business logic I am returning same view.
           return View(model);
        }
        else
        {

        }
 }

当我点击第二次点击并发布相同型号的保存按钮时。我没有得到model.PublicId,我在上面按钮上点击了值。

有人请帮助我如何获得价值

2 个答案:

答案 0 :(得分:0)

如果有多行并且你是ajax在没有整页加载的情况下发布对它们的更改,则多个表单各自具有他们保存的项目的隐藏值即可。

另一种选择是在页面级别有一个隐藏字段,点击提交javascript时会截取并设置隐藏字段值。 以下是拦截提交点击以进行更多工作的示例: How to use jQuery to onsubmit and check if the value is 2 - 5 characters?

包含所有项目的表单的另一个选项是让每个提交链接(假设您的提交按钮是每行而不是列表级别)生成的ID是<input type="Submit" value="1" title="Id is 1">

答案 1 :(得分:0)

我已经参加了会议,并将该列表存储在会话中,解决了我的问题