以下のコードがあります。アップロードボタンをクリックするたびに、ファイルが送信されます。エラーがある場合は、グリッドに表示されます。しかし、ページ番号をクリックすると、ページ番号を入力としてコントローラー アクション「アップロード」が呼び出されます。また、並べ替えのために列名をクリックすると、コントローラ アクション「アップロード」が sort=columnname および sortDIR=ASC パラメータで呼び出されます。
これらのコントローラー アクション コールを防止したい。
コントローラーで:
[HttpPost]
public ActionResult Upload(HttpPostedFileBase fileUpload)
{
}
設計中:
@using (Html.BeginForm("Upload", "FileUpload", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="fileUpload" size="35" id="fileupload"/>
<br />
<br />
<span class="button">
<input type="submit" class="form_button" value="Upload" id="btnUpload" />
</span>
<span class="button">
<input type="reset" id="btnCancel" value="Cancel" name="Cancelbutton" class="form_button" />
</span>
<div id="progressbardiv" style="display:none; font-size:medium;">
<img src="../../Images2/ajax-loader.gif"/>Uploading File...
</div>
<br />
<br />
}
@if (Model.lstError != null)
{
<div id="grid">
@{
var grid = new WebGrid(source: Model.lstError,
canSort: true,
rowsPerPage: 10
);
}
@grid.GetHtml(
tableStyle: "webGrid",
headerStyle: "gridHead",
alternatingRowStyle: "alt",
columns: grid.Columns(
grid.Column("RowId", header: "Sr.No"),
grid.Column("EmployeeID", header: "Emp Id"),
grid.Column("ApplicantID", header: "Candidate Id"),
grid.Column("EmployeeName", header: "Employee Name"),
grid.Column("Message", header: "Message")
)
)
</div>
}