0

領収書の報告のためにさまざまなアクションを実行するための複数のボタンがあります。印刷ボタンは、ユーザーにダウンロードオプションの入力を求めます。ビューのコードは次のとおりです。

@using (Html.BeginForm())
{ 

<fieldset style="width:525px; padding-top:20px; margin:0 auto;">
    <legend>Select Criteria</legend>

        <center>
            @Html.Partial("_MagazineType")<br /><br />
        </center>

            @Html.Partial("_RadioBtnCriteria")

            @Html.Partial("_ReportExportFormat")<br />  

        <center>                 
            <button type= "submit" id = "status" onclick="ReceiptsStatus();" >Receipts Status Details</button>
            <button type= "submit" id = "duplicate" onclick="NoDuplicate();" >No Duplicate</button>
            <button type= "submit" id = "pr_rcpt" onclick="PrintReceipts()">Print Receipts</button>                         
        </center>          

</fieldset><br />

} 

これで、[領収書のステータスの詳細]ボタンをクリックすると、@ using(Html.BeginForm())オプションが使用されているため、ダウンロードオプションの入力を再度求められます。しかし、私はそれを実行するためのコントローラーアクションが欲しいだけです。また、入力されたパラメータに応じて、呼び出すさまざまなアクションの中から選択する必要があります。したがって、そのボタンの特定のメソッドをパラメーターとともにのみ実行する方法。日付範囲については、日付から日付までを渡す必要があり、日付からのみ渡すことができます。

4

1 に答える 1

0

異なるアクションメソッドを呼び出す同じビューに複数のボタンを配置する最も簡単な方法は、私の意見では、各ボタンを囲む@using (HTML.BeginForm(“actionName”, “controllerName”))ことです。そうすれば、必要なだけの onClick イベントは必要ありません。各ボタンからの各ポストバックは、指定された actionNameコントローラー名。

この例では、ASP.Net Web サイトの映画チュートリアルを変更します。

<div style="width:100px; float:left" >
    @using (Html.BeginForm())
    {
    <p>
    <input type="submit" value="Delete" /> 
    @Html.ActionLink("Back to List", "Index")
    </p>
    }
    </div>

    <div style="width:100px; float:left">       
    @using (Html.BeginForm("Index","Movies"))
    {
    <p>
    <input type="submit" value="Cancel" /> 
    </p>
    }
</div>

それが役立つことを願っています

于 2013-01-09T11:34:43.287 に答える