在MVC中为查询字符串添加参数

时间:2012-12-05 10:31:25

标签: c# asp.net-mvc

如何在MVC中添加参数到链接?当我在代码

下面使用它(在控制器中)时
Model model = GetModel();
string lang = "pl";
string viewName = "MyPage";
return View(viewName + "?lang=" + lang, model);

我收到错误 未找到视图' MyPage?lang = pl '或其主页,或者没有视图引擎支持搜索的位置。搜索了以下位置:...

2 个答案:

答案 0 :(得分:2)

当您重新调用View结果时,ASP.NET MVC只是为您呈现此视图。它没有任何网址。用户将URL输入到浏览器中以调用MVC操作。如果您要更改网址,则应使用RedirectToAction结果。 E.g:

return RedirectToAction("MyPage", new {lang = "pl"});

答案 1 :(得分:0)

使用ViewData或高级ViweModel类将数据传递给视图。

Model model = GetModel();
ViewData["lang"] = "pl";
return View("MyPage", model);

当然,如果您在视图中引用查询字符串(这很糟糕),请将其修改为引用ViewData。