页面编号单击webgrid调用控制器操作,以pagenumber作为输入

时间:2013-05-09 03:57:37

标签: asp.net-mvc-3 webgrid

我有下面的代码。每当我点击上传按钮,文件都会提交。如果有错误,则它将显示在网格中。但是,当我点击A页码时,控制器操作“上传”将以页码作为输入进行调用。此外,当我单击列名进行排序时,将使用sort = columnname和sortDIR = ASC参数调用控制器操作“Upload”。

我想阻止这些控制器动作调用。

在控制器中:

[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" />&nbsp;&nbsp;                       
    </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> 
}

1 个答案:

答案 0 :(得分:0)

由于您是从上传操作加载网格,因此网格将返回拉取分页数据并进行排序。如果您看到this answer,则说明使用WebGrid没有明确的方法来解决此问题,并提供了替代解决方案。