0

私は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>
                                  }
                                }

これを行う方法はありますか?

4

1 に答える 1

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>

あなたのアクションがPartialViewを返すようにします。

于 2013-06-03T08:33:08.333 に答える