2016-04-19 9 views
0

私にはテーブルがあります。 Excelにエクスポートするボタンがあります。モデルオブジェクト全体をControllerに渡したい。私はこのように試してみました:全モデルオブジェクトをmvc4コントローラに渡すには?

マイビュー:

@model Project.Models.Results 
... 

@Html.ActionLink("Download", "DownloadAction", Model) 

そして、私のコントローラ:

public ActionResult DownloadAction(Results model){...} 

を私はこのようにそれをしようとすると、モデルがnull値を持つ特性を有しています。

誰かがモデルをコントローラに渡すのを助けることができますか?

答えて

1

シンプルなモデルをお持ちの場合は、コードが機能するはずです。しかし複雑なモデルをお持ちの場合は、ActionLinkでそれを行うことはできません。

public class ViewModel 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    //etc... 
} 
+0

それは複雑なモデルです、私は結果の配列を持っています。私はそれをすることができる方法はありますか? – user3549602

+0

@ user3549602はい、配列は複雑です。あなたのケースでは、ajaxコールを使用する必要があります。 –

+0

jqueryでそのコードを書くことができますか?モデルをjqueryに渡す方法はわかりません。ありがとうございました。 – user3549602

0

コントローラからビューにモデルを渡すためにいくつかの方法があります:あなたが渡すことができ

唯一のモデルは、このような単純な性質を持つモデルです。あなたはTempDataを、ViewDataをまたはViewBagを使用するかは、あなたのビュー

@model Your_Model 

の上にあなたのビューにモデルを追加することができますし、データを渡すことができ foreachループ

@foreach(var item in Model) 
{ 
//your data in item.something 
} 

の値にアクセスしたりすることができますviewbagと、このようなビューにアクセスするには..ビューで

public ActionResult actionName() 
{ 
ViewBag.ModelName=Result; 
//Result in viewbag now 
} 

@foreach(var item in ViewBag.ModelName) 
{ 
    //your data in item.something 
} 
+0

お返事ありがとうございます。しかし、私は、モデルiをコントローラ上の別のアクションに表示するように渡す必要がありますか? – user3549602

関連する問題