处理2个按钮在单个视图/表单中提交操作 - ASP.NET MVC 2 RTM

Len*_*rri 3 post actionmethod asp.net-mvc-2

我有一个View,用户可以在其中将文件上传到服务器.

在这个视图中我还有2个按钮:一个用于上传文件,另一个用于下载导入的最后一个文件.

在我的控制器中,我创建了2个操作方法:导入和导出.

我怎么能设法将每个按钮单击重定向到我的控制器中的正确操作方法?

我试过Html.ActionLink:

<%= Html.ActionLink("Upload", "Import", "OracleFile")%>
<%= Html.ActionLink("Download", "Export", "OracleFile")%>
Run Code Online (Sandbox Code Playgroud)

Html.ActionLink没有做到这一点.动作链接带我到正确的Action方法,但他们正在生成GET请求.这样Request.Files.Count = 0.

我需要一个POST请求.

注意:最有趣的部分是上传工作,突然间它停止工作.我已经看到有些人在FileUpload任务中遇到同样的问题,其中Request.Files总是为空.我认为它是空的,因为你需要一个帖子到服务器.不是吗?

Cof*_*ode 9

也许这会给你一个想法:

观点:

<form enctype="multipart/form-data" method="post" action="/Media/Upload/Photo">
    <input type="file" name="file" id="file" /> 
    <input type="submit"  name= "submitImport" value="Upload" />
    <input type="submit" name = "submitExport"  value="Download" />
</form>
Run Code Online (Sandbox Code Playgroud)

控制器:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Action (FormCollection formCollection)
        {
            if (formCollection["submitImport"] != null)
            {
                return Import(formCollection);
            }
             if (formCollection["submitExport"] != null)
            {
                return Export(formCollection);
            }
        }
Run Code Online (Sandbox Code Playgroud)

出口进口是appropriateactions

  • 嘿CoffeeCode ......这就行了!非常感谢你.:)我多么喜欢StackOverflow及其用户.你把这件事做成了整个互联网最好的地方之一.很高兴成为它的一部分. (2认同)