2013-04-20 74 views
0
?((webEPOS.Models.cPrice)((new System.Collections.Generic.Mscorlib_CollectionDebugView<webEPOS.Models.cProductOption>(this.ProductOptions)).Items[0])).MainPrice 
12 

如何解開此問題以獲得我的mvc視圖的實際價值以獲取主要價格?如何從我的mvc視圖中提取主價格值?

this.ProductOptions[0] 
{MAFIA webEPOS.Models.cProductSize} 
    base {webEPOS.Models.cPrice}: {MAFIA webEPOS.Models.cProductSize} 
    IsDeleted: false 
    OptionID: 12 
    ParentName: "MAFIA" 
    Position: 0 
    ProductID: 7 
    SizeDescription: "7''" 
    SizeID: 1 
    SizeInfo: {webEPOS.Models.cProductSize} 

回答

1

我正在這裏很多的假設你的問題需要更多的細節,但它看起來像cPrice是你的基類MainPrice的屬性?

因此,如果您查看聲明

@model List<cProductOption> 

而且你已經從你的ActionResult傳遞的產品選項,如下所示:

return View(this.ProductOptions); 

我猜測,該項目集合是弱類型,因爲你寫過上面的代碼的方式。你不想在視圖中對這種代碼感到困惑,通過cProductOption編寫的擴展方法做到這一點安全服務器端,這將優雅地抓住它:

public static decimal MainPrice (this cProductOption cproductOption) { 

    decimal returnValue = 0m; 

    try { 
     // returnValue = try and get it from .Items[0], casting to the type you need and/or seeing if the necessary relationships exist. 
    } 
    catch(Exception exception){ 
     // log the possible exception 
    } 

    return returnValue; 
} 

然後因爲你有你的繼承整理出來你做,你可以簡單地通過模型列表迭代方式:

@foreach (cProductOption cproductOption in Model) { 
    @cProductOption.MainPrice() 
} 

就像我說的,我正在對此進行有根據的猜測,但希望它能給你一些指示。祝你的程序好運!