如何在不指定asp.net mvc3中的操作和控制器的情况下调用方法?

时间:2013-06-03 07:31:59

标签: c# asp.net-mvc-3 html.beginform

我是asp.net mvc的新手。我的页面上有一个按钮。单击该按钮我只想显示下载对话框。我不想调用任何其他视图和控制器。每当我使用@Html.BeginForm("Index", "Download", FormMethod.Post)时,它会打开一个新窗口以及下载对话框。我不想打开任何新窗口。我的代码如下

@Html.BeginForm("Index", "Download", FormMethod.Post)
                                {
                                @{if (check.CheckName != "Total")
                                  {
                                    <td colspan="2" align="right">
                                        <span class="button">
                                            <input type="submit" value="View Report" class="form_button" onclick="window.showModalDialog('/Download/Index?EmployeeID=@Model.EmployeeInformation.EmployeeID&RequestID=@Model.RequestInformation.RequestID','Download View','dialogHeight:4px;dialogWidth:4px;');" /></span>
                                    </td>
                                    <td colspan="2" align="left">
                                        <span class="button">
                                            <input type="submit" value="Download Report" class="form_button" /></span>
                                    </td>
                                  }
                                }

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用Ajax.BeginForm,这可以使用您的表单内容更新页面的一部分,而无需打开新页面。

@using (Ajax.BeginForm("Index", "Download", new AjaxOptions
                    {
                        HttpMethod = "GET",
                        UpdateTargetId = "area", // the div that will have your form contents
                        InsertionMode = InsertionMode.Replace                          
                    }))
{
   // here you can put your form content normally like the 'Html.BeginForm'
}

<div id = "area">
</div>

并让你的Action返回一个PartialView。