当我在控制器中时,我需要将实体对象(Product
)传递回视图以便在JavaScript中使用。
我将一个模型对象从action方法传递给视图。模型对象包含视图需要显示的一些数据,但也包含(我正在努力解决的问题)产品数据的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 );
答案 0 :(得分:1)
在View上试试这个:
<script type="text/javascript">
var product = jQuery.parseJSON(@Model.js);
</script>
如果您不使用jQuery,请查看http://www.json.org/js.html