2016-03-25 3 views
-2

私はクラスJobSeekerViewModelを持っています。私はアクションメソッドのインデックスから詳細に送信したい。しかし私が送るたびに、私はヌル値を得る。私のモデルには人が住んでいます。asp.net MVCでRedirectToActionを使用して、あるアクションメソッドから別のアクションメソッドにモデルを渡す方法は?私は人口の多いモデルを送信しますが、nullモデルを取得しています

public class JobSeekerViewModel 
{ 
    public user userJobSeeker { get; set; } 

    public employee employeeJobSeeker { get; set; } 
     } 
} 

index(login log1) 
{ 
    Return View(log1); 
} 


[HttpPost] 
index (login log1) 
{ 
    JobSeekerViewModel js = new JobSeekerViewModel(); 
    js.userJobSeeker = log1.userJobSeeker; 
    js.employeeJobSeeker = log1.employeeJobSeeker; 
    return Details(js); 
} 
Details(JobSeekeerViewModel js) 
{ 
    Return View(js); 
} 
+0

をヨーヨーは、詳細を追加できますアクション? –

+0

詳細アクションが追加されました – Shakhawat95

+1

コントローラのアクション「インデックス」と「詳細」(Get/Post)のような詳細情報をお知らせください。 –

答えて

0

これは、私はあなたのアイデアを得る願って、あなたを助けることが、この代わりに

index (JobSeekerViewModel js) 
{ 
    return RedirectToAction("Details", new{model = js}); 
} 
+0

はまだヌル値を取得しています。 : – Shakhawat95

+0

メソッドが受け取る名前パラメータは何ですか?投稿されたモデルに置き換えてください –

+0

私のご質問は別のモデルのログインを受け取りますが、詳細にJobSeekerViewModelを送信したいと思います。 – Shakhawat95

1

インデックス

 TempData["jobSeeker"] = jobSeeker; 

詳細

 JobSeekerViewModel jobSeeker = (JobSeekerViewModel)TempData["jobSeeker"]; 
0

を試してみてください。

Index (login log1) 
{ 
    //get your JobSeekerViewModel and then use it. 

    return RedirectToAction("Details", new { model = jobSeekerViewModel }); 
} 

Details(JobSeekerViewModel model) 
{ 
    return View(model); 
} 
+0

私はこれをしました。まだ取得していない – Shakhawat95

+0

あなたのモデルが送信される前にヌルでないかどうかチェックしましたか? –

+0

はい。私のコントローラはnullではありません。今、私は独特の誤りを抱えています。 これは です。辞書に渡されるモデルアイテムは、 'job_management_two.Models.JobSeekerViewModel'タイプですが、この辞書には 'job_management_two.Models.Login'タイプのモデルアイテムが必要です – Shakhawat95

0

あなたは、データがコントローラとビューの間で保存されていないredirectToActionを使用するので、あなたがnull

を得るのどちらか(det不振の解決策をTempDataを使用するか、またはメソッドを呼び出す)directly instead of redirectToAction`

はこれを読みますたとえば、Can we pass model as a parameter in RedirectToAction?

0

あなたの行動が同じコントローラにある場合は、に電話する必要はありません。別のアクションにワンアクションでモデルを送信するために

index (login log1) 
{ 
    JobSeekerViewModel js = new JobSeekerViewModel(); 
    js.userJobSeeker = log1.userJobSeeker; 
    js.employeeJobSeeker = log1.employeeJobSeeker; 
    return Details(js); 
} 
0

- モデルを設定するアクションで

は単に似アクションを呼び出し、別のアクションで

TempData["myId"] = myIdToTransfer; 

をモデルを取得する:

モデルを取得するためにビューで

ViewBag.myId = myIdToTransfer; 

::モデルを設定するアクションで

を表示するための行動からモデルを送信するために

String userID = TempData["myID"].ToString; 

@Html.ViewBag.myId 
関連する問題