0
?((webEPOS.Models.cPrice)((new System.Collections.Generic.Mscorlib_CollectionDebugView<webEPOS.Models.cProductOption>(this.ProductOptions)).Items[0])).MainPrice
12

我怎样才能打开它以在我的 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}
4

1 回答 1

1

我在这里做了很多假设,因为您的问题需要更多细节,但看起来 cPrice 是您的基类,具有 MainPrice 的属性?

因此,如果您的 View 声明是

@model List<cProductOption>

您已经从 ActionResult 传递了产品选项,如下所示:

return View(this.ProductOptions);

我猜由于您在上面编写代码的方式,Items 集合的类型很松散。您不想在视图中处理这种代码;通过在 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;
}

然后因为你已经按照你的方式整理了你的继承,你可以简单地遍历 Model 列表:

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

就像我说的那样,我对其中的一些进行了有根据的猜测,但希望它能给你一些指导。祝你的应用好运!

于 2013-04-20T16:53:46.287 回答