0

Productコントローラーにいるときは、JavaScript で使用するためにエンティティ オブジェクト ( ) をビューに戻す必要があります。

アクション メソッドからビューにモデル オブジェクトを渡します。モデルオブジェクトには、ビューが表示するために必要ないくつかのデータが含まれていますが、(私が苦労しているのは) 製品データの JSON バージョンも含まれています。

ビューで、製品オブジェクトを JavaScript として取得して操作したいと考えています。

コントローラ:

public ActionResult ViewProduct( int  productKey )
{
    VendorPage page = PageManager.Instance().GetProductPage( );
    Product product = this.repoProducts.Get<Product>( App.GetVendorKey(), productKey );

    JavaScriptSerializer    sz = new JavaScriptSerializer();
    string json = sz.Serialize( new { pr = product } );

    ProductPageModel  ppm = new ProductPageModel( page, product );
    // Embed the product as json in the model
    ppm.js = json;

    if ( product != null )
    {
        return View( "Product", ppm );
    }
    return null;
}

ビュー - モデルを ProductPageModel @model SiteEngine.SiteEngineUI.Models.ProductPageModel html として使用します......

問題は、次のようなことを行うために、JavaScript で製品にアクセスするにはどうすればよいかということです。

alert( product.Name );
4

1 に答える 1

1

ビューでこれを試してください:

<script type="text/javascript">
  var product = jQuery.parseJSON(@Model.js);
</script>

jQuery を使用しない場合は、http: //www.json.org/js.html をご覧ください。

于 2012-11-09T19:56:42.500 に答える