通过WebForm中的Response.Redirect将参数传递给MVC控制器

时间:2014-04-03 13:04:16

标签: c# asp.net asp.net-mvc webforms response.redirect

我有一个带ReportViewer的网络表单(.aspx页面),它使用服务器报告和重定向到MVC控制器操作的按钮 - Index。 我想将服务器报告参数传递给我的控制器操作。有可能吗?

所以,我得到了参数:

protected void Button1_Click(object sender, EventArgs e)
{
    List<ReportParameterInfo> param = ReportViewer1.ServerReport.GetParameters().ToList();
    string month = param.Where(p => p.Name == "month").FirstOrDefault().Values.FirstOrDefault();
    string year = param.Where(p => p.Name == "year").FirstOrDefault().Values.FirstOrDefault();

    Response.Redirect("/Report/");
}

我的索引ActionResult通常看起来像:

public ActionResult Index()
    { 
            ....
           return View(); //returns .cshtml view
    }

我很感激任何建议。

1 个答案:

答案 0 :(得分:3)

可以通过查询字符串传递它,并使用MVC中的模型绑定器。

从您的网络表单应用中使用Response.Redirect("/Report/?Year=2014&Month=2");。然后为您的操作添加参数:

public ActionResult Index(int year, int month)
{ 
    // year and month will be populated with the query string values
    return View(); //returns .cshtml view
}