当我们点击mvc asp.net中的页码时,如何重定向到不同的视图

时间:2016-09-12 02:53:24

标签: c# asp.net-mvc webgrid

我使用webgridextension.cs文件实现了一个启用分页的网格。同一页面有多个按钮来执行不同的操作,如搜索,获取excel,获取pdf。为了执行不同的表单提交我使用了多重按钮和动作选择器属性。当我点击页码到网格时,它导航到默认动作索引。

在这里,我想导航到页面中带有模型(已加载)的不同动作GetRFQData ..

你可以帮我解决这个问题。

WebGrid grid = new WebGrid(null, rowsPerPage: 25, canPage: true, defaultSort: "RFQID");

grid.Bind(Model != null ? Model.RFQSearchResults != null ? Model.RFQSearchResults
                                                 : new List<Shipsurance.Model.RFQ>()
               : new List<Shipsurance.Model.RFQ>(), rowCount: Model != null ? Model.TotalRowsCount :25, autoSortAndPage: false);

[AttributeUsage(AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class MultipleButtonAttribute : ActionNameSelectorAttribute
{
    public string Name { get; set; }
    public string Argument { get; set; }

    public override bool IsValidName(ControllerContext controllerContext, string actionName, MethodInfo methodInfo)
    {
        var isValidName = false;
        var keyValue = string.Format("{0}:{1}", Name, Argument);
        var value = controllerContext.Controller.ValueProvider.GetValue(keyValue);

        if (value != null)
        {
            controllerContext.Controller.ControllerContext.RouteData.Values[Name] = Argument;
            isValidName = true;
        }

        return isValidName;
    }
}

 [MultipleButton(Name = "action", Argument = "GetRFQData")]
    public ActionResult GetData(Shipsurance.Model.RFQ rfqModelData)
    {
        SerachRFQ getRFQDetails = new SerachRFQ();
        return View("Index", getDetails.getResults(rfqModelData));

    }

1 个答案:

答案 0 :(得分:0)

您可以使用RedirectToAction()方法。

return RedirectToAction("Your action", model);