我认为这更像是一个“风格”问题。
我有一个 MVC 应用程序,它由一个主页(用户在其中输入搜索条件)和一个列表页(显示与条件匹配的项目列表)组成。
当用户在主页面请求搜索时,MainPage.cshtml 中有这段代码调用 ListPageController 来生成新页面:
var ParamString =
"Param1=" + Param1
+ "+Param2=" + Param2
+ "+Param3=" + Param3
+ "+Param4=" + Param4
+ "+Param5=" + Param5;
window.open(encodeURI("/ListPage/ShowList?" + ParamString), "_self");
下面是 ListPageController.cs 中 ShowList 的代码:
public ActionResult ShowList
(
String p_Param1
, String p_Param2
, String p_Param3
, String p_Param4
, String p_Param5
)
{
ListPageModel M = new ListPageModel;
M.Param1 = p_Param1;
M.Param1 = p_Param2;
M.Param1 = p_Param3;
M.Param1 = p_Param4;
M.Param1 = p_Param5;
return View("ListPage", M);
}
ListPage.cshtml 然后使用指定参数通过 jQuery Ajax 调用获取数据。
使用带有参数字符串的 window.open 是“正确”的方法吗?如果有大量参数而不是五个参数,这会不会使 URL 变得相当大?
或者,例如,窗口打开调用是否应该在 ListPageController 中,例如 jQuery .post 调用?