2016-04-15 10 views
0

MVCに新しく、MVC4を使用しています。簡単なログインアプリケーションを開発しています。ログインが成功すると、私は2つのテキストボックスでユーザーから値を取得します。そのページのSubmitボタンをクリックすると、入力したテキストボックスの値が別のページに表示されます。表示ページにテキストボックス値を表示する際の問題に直面しています。コントローラからビューに値を渡すには?

ビューのページ(表示)にコントローラオブジェクトの値を表示したいとします。私はデータを表示できませんでした。

モデル:

public class DisplayModel 
    { 
     public string setupName { get; set; } 
     public string displayName { get; set; } 
    } 

コントローラー:

[HttpPost] 
     public ActionResult Display(DisplayModel setupDetails) 
     { 
      ViewData["setupDetails"] = setupDetails; 

      return View(setupDetails); 
     } 

ビュー:

@model SampleApplicationWithLoginValidation.Models.DisplayModel 
@{ 
    ViewBag.Title = "Display"; 
} 

<h2>Display</h2> 
<table border="1" style="width:100%"> 
    <tr> 
     <th>Setup Name</th> 
     <th>Display Name</th> 
</tr> 
    <tr><td><%:((DisplayModel)Model).setupName%></td><td>Model.displayName</td></tr> 

</table> 

誰もがこの上で助けてくださいことはできますか?

+0

表示方法を呼び出すコードを投稿することはできますか? – Emanuele

+0

あなたの求めるものが不明です。 POSTメソッドのコードは 'Display'ページにリダイレクトせずにビューを返しています。 'ViewData [" setupDetails "] = setupDetails;の使用は無意味です。 '((DisplayModel)Model).setupName'は' Model.setupDetails'と同じですので、その理由はわかりません –

+0

このスレッドを評価してください - http://stackoverflow.com/questions/20333021/asp-net-mvc - ビューからコントローラへのデータ転送の様子 –

答えて

0
[HttpPost] 
     public ActionResult Display(DisplayModel setupDetails) 
     { 
      // ViewData["setupDetails"] = setupDetails; it's not necessary, because you pass the model object to view 

      return View(setupDetails); 
     } 

</tr> 
    <tr><td>@Model.setupName</td><td>@Model.displayName</td></tr>  
</table> 

私はあなたがかみそりを使用すると思います。

b

関連する問題