2016-08-30 6 views
0

私は1つのモードを使用しており、構造は以下の通りです。mvc4のjquery配列にMvc4モデル項目を追加するには?

public class detailsbyclientIdviewModel 
    { 
     public int upldId { get; set; } 
     public IPagedList<detailsbyClientId> detailsbyclientId { get; set; } 
    } 

これは私のコントローラコードです。

List<detailsbyClientId> detailsbyclient = objBAL.detailsbyclient(cId); 
      IPagedList<detailsbyClientId> pagedLog = detailsbyclient.ToPagedList(pageNumber, pageSize); 
      detailsbyclientIdviewModel model; 
      model = new detailsbyclientIdviewModel() 
      { 
       detailsbyclientId = pagedLog 
      }; 

たとえば、detailsbyclientIdには8個の項目があります。たとえば、以下のように各項目を取得して表示することができます。

@foreach (var group in Model.detailsbyclientId) 
     { 
      <tr> 
       <td> @group.clientName </td> 
      </tr> 
     } 

上記と同じですが、私は1つのプロパティdetailsbyclientId.upldIdを持っています。 たとえば、detailsbyclientIdに5つのアイテムがある場合、detailsbyclientId.upldIdには5つのアイテムがあります。 5つのdetailsbyclientId.upldIdをすべてjquery配列に入れたいと思います。モデル項目をjquery配列にプッシュすることは可能ですか?私はこのような何かを試みたが運がない。 var listArray = new Array();

@foreach(var data in Model.detailsbyclientId) 
    { 
     listArray.push(data.upld_Id); 
    } 
+0

'VAR IDS = @ Html.Raw(Json.Encode(Model.detailsbyclientId.Select(xのコントローラコードを修正=> x.upld_Id))) 'しかし、クエリは実際にはクライアント上ではなくサーバー上にあるべきです。 –

+0

を実装しました。現在必要な値を保持しています。どのクエリが本当にサーバー上にあるべきかわかりますか? –

+1

あなたのビューモデルには、(IE) 'IEnumerable Ids'というプロパティがあり、GETメソッド' model = new detailsbyclientIdviewModel(){Ids = pagedLog.Select(x => x.upld_Id)、detailsbyclientId = pagedLog} ' 'var ids = @ Html.Raw(Json.Encode(Model.Ids))' –

答えて

0

あなたはそのようなカミソリ(サーバー側のコード)やJavaScript(クライアント側のコード)(その前に、サーバー上のforeach実行クライアントに送信し、listArrayがその時に存在していないjavascriptの変数であると混在させることはできませんクエリは、コントローラではなく、ビューにする必要がありますがポイント。あなたは

var listArray = @Html.Raw(Json.Encode(Model.detailsbyclientId.Select(x => x.upld_Id))) 

を使用することができます。あなたのビューモデルにプロパティを追加

public IEnumerable<int> Ids { get; set; } 

List<detailsbyClientId> detailsbyclient = objBAL.detailsbyclient(cId); 
IPagedList<detailsbyClientId> pagedLog = detailsbyclient.ToPagedList(pageNumber, pageSize); 
detailsbyclientIdviewModel model = new detailsbyclientIdviewModel() 
{ 
    Ids = pagedLog.Select(x => x.upld_Id), 
    detailsbyclientId = pagedLog 
}; 

へと視野

var listArray = @Html.Raw(Json.Encode(Model.Ids))) 
あなたが使用して配列を作成することができ
関連する問題