ページA(モデル付き)とページB(モデル付き)の2つのページがあり、どちらもHomeControllerによって読み込まれます。javaScript - MVCでパラメータとしてオブジェクトを渡す新しいビューを開く方法
public class ModelA
{
public string UserName { get; set; }
public int UserID { get; set; }
}
public class ModelB
{
public ModelB()
{
this.A = new ModelA();
}
public ModelA A { get; set; }
public string Local { get; set; }
public string Destination { get; set; }
}
public class HomeController : Controller
{
public ActionResult PageA()
{
return View();
}
public ActionResult PageB(ModelA a)
{
ModelB model = new ModelB();
if (a != null)
{
model.A = a;
}
return View(model);
}
}
私のメインページはページAであり、それはあなたが見ることができるように、ページBは、だから、ページAに塗りつぶされたオブジェクトによってロードされ、ページBを呼び出します。しかし、ボタンのイベントをクリックし、オブジェクトを埋め(タイプMODELA)、その後、JavaScriptでイベントクリックページBを呼び出すには、次のとおりです。
var obj = '@Html.Raw(Json.Encode(Model.A))';
var url = pageA.urlForPageB + "?a=" + obj;
window.location.href = url;
このイベントは、ほぼ正常に動作します。つまり、ページBは正常に読み込まれていますが、 'a'オブジェクトはnullです。
var url = pageA.urlForPageB + "?a=" + $('form#frmPageA').serialize();
window.location.href = url;
をそして、それは(ページBがロードされているが、「」オブジェクトがnullである)と同じ方法でWORKD:私も試してみました。
誰でも手伝ってもらえますか?
ありがとうございます。