これは何よりも「スタイル」の質問だと思います。
ユーザーが検索条件を入力するメインページと、条件に一致するアイテムのリストが表示されるリストページで構成される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は、指定されたパラメーターを使用してjQueryAjax呼び出しを介してデータを取得します。
パラメータの文字列でwindow.openを使用することは、これを行うための「正しい」方法ですか?パラメータが5つではなく多数ある場合、URLはかなり大きくなりませんか?
または、たとえば、ウィンドウを開く呼び出しをListPageControllerに含める必要があります。これは、たとえばjQuery.post呼び出しによって呼び出されますか。