如何通过模型访问cshtml页面中的子列表

无法访问 cshtml 页面中的模型列表类型变量。这是我的模型类


public class MBilling

{

    public List<string> plist { get; set; }

    public List<decimal> qlist { get; set; }

    public List<decimal> splist { get; set; }

}

控制器


public ActionResult Billing()

{

    if (Session["UserId"] != null)

    {

        MBilling binddata = BillingService.getBindData();

        return View(binddata);

    }

    else

    {

        return this.RedirectToAction("Index", "Login");

    }

}

这是cshtml部分


@model IEnumerable<Shop.Models.MBilling>

@{

    ViewBag.Title = "Billing";

}


<input style="border:none" list="browsers" name="browser">


<datalist id="browsers">

    ///Unable to ACCESS  Model.plist

    @foreach (var item in Model.plist)

    {

    }

</datalist>

我能够从服务文件中获取具有所需数据的模型对象,但在 cshtml 页面中显示错误


CS1061:“ IEnumerable<MBilling>”不包含“ ”的定义,plist并且找不到接受“ ”类型的第一个参数的扩展方法“plist” IEnumerable<MBilling>(您是否缺少 using 指令或程序集引用?)


提前致谢。


浮云间
浏览 110回答 1
1回答

狐的传说

问题:您将模型作为类型对象返回,但在视图中MBilling使用它。IEnumerable<MBilling>解决方案:你不需要IEnumerable<T>在这里,因为它不是enumerable。所以删除它并执行以下操作:@model&nbsp;Shop.Models.MBilling
打开App,查看更多内容
随时随地看视频慕课网APP