Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在multi-post MVC 4.0上保留模型值_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc 如何在multi-post MVC 4.0上保留模型值

Asp.net mvc 如何在multi-post MVC 4.0上保留模型值,asp.net-mvc,asp.net-mvc-4,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" /> 这些按钮位

在一个视图中,我有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
        {

        }
 }
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult BulkRenewalProcess(BusinessViewModel模型、列表BulkFile、字符串按钮)
{
如果(按钮==“上传”)
{
model.PublicId=lstId;
返回视图(模型);
}
否则如果(按钮==“下载”)
{
//在我的业务逻辑之后,我返回相同的视图。
返回视图(模型);
}
其他的
{
}
}
当我点击保存按钮时,这是第二次点击并发布同一型号。单击上载按钮时,我没有获取分配值的model.PublicId


有人请帮助我如何获取值

如果有多行,并且您在没有完整页面加载的情况下向这些行发布更改,那么多个表单(每个表单都有他们正在保存的项目的隐藏值)就可以做到这一点

另一个选项是在页面表单级别有一个隐藏字段,单击submit javascript会截取并设置隐藏字段值。 以下是拦截提交点击以进行更多工作的示例:


封装所有项目的表单的另一个选项是拥有每个提交链接(假设您的提交按钮是每行的,而不是列表级别的)生成的id烘焙在类似

的内容中。我已完成会话并将列表存储在会话中,解决了我的问题

您必须有一个
隐藏的
输入标记,其中包含值,以便第二个表单post将其发送给您的控制器。但我们无法将列表存储在隐藏字段中,请告诉我如何在隐藏字段中存储列表您似乎只想存储一个Id而不是列表?这是一个Id列表这取决于您的html更多,共享更多,或者可能是一个小提琴?我将提供一些选项作为答案,希望解决您的具体情况