zoukankan      html  css  js  c++  java
  • html.partial的一个bug?

    主视图:

     @Html.Partial("SeriesChartPartial", ViewBag.deviceEveyDayActivity as List<SeriesChartVM>)

    分布视图:

      
    @using Magmoud.Web.ViewModels
    @model List<SeriesChartVM>
    @(Html.Telerik().Chart(Model).Legend(false).Name("SingleChart")
               .Series(series =>
                           {
                                   if (ViewBag.IOSSelect == "true")
                                   {
                                       series.Line(s => s.IOSCount).Color(UISetting.IOSCOLOR);
                                   }
                                   if (ViewBag.AndroidSelect == "true")
                                   {
                                       series.Line(s => s.AndroidCount).Color(UISetting.ANDROIDCOLOR);
                                   }
                                   if (ViewBag.WindowsSelect == "true")
                                   {
                                       series.Line(s => s.WindowsCount).Color(UISetting.WINDOWSCOLOR);
                                   }
    
                           }).CategoryAxis(axis => axis
                                                               .Categories(s => s.XData)
               )
               .ValueAxis(axis => axis
                                      .Numeric()).Tooltip(true))

    这样是没问题的。

    但是如果改变主视图,尝试使用html.partial的第三个重载:

    @Html.Partial("SeriesChartPartial", ViewBag.deviceEveyDayActivity as List<SeriesChartVM>,
        new ViewDataDictionary { 
                                { "chartType", ViewBag.deviceEveyDayActivityChartType as string }, 
                               })

    VS没有报异常,但分部视图就无法渲染了。猜测是ViewBag.IOSSelect等没有数据,于是将主视图改为:

    @Html.Partial("SeriesChartPartial", ViewBag.singleViewDuration as List<SeriesChartVM>,
        new ViewDataDictionary { 
                               { "iosSelect", ViewBag.iosSelect },
                               { "androidSelect", ViewBag.androidSelect },
                               { "windowsSelect", ViewBag.windowsSelect }
                               })

    分部视图改为:

    @using Magmoud.Web.ViewModels
    @model List<SeriesChartVM>
    @(Html.Telerik().Chart(Model).Legend(false).Name(ViewData["name"] as string)
               .Series(series =>
                           {
                                   if (ViewData["iosSelect"] as string == "true")
                                   {
                                       series.Line(s => s.IOSCount).Color(UISetting.IOSCOLOR);
                                   }
                                   if (ViewData["androidSelect"] as string == "true")
                                   {
                                       series.Line(s => s.AndroidCount).Color(UISetting.ANDROIDCOLOR);
                                   }
                                   if (ViewData["windowsSelect"] as string == "true")
                                   {
                                       series.Line(s => s.WindowsCount).Color(UISetting.WINDOWSCOLOR);
                                    }
                           }).CategoryAxis(axis => axis
                                                               .Categories(s => s.XData)
               )
               .ValueAxis(axis => axis
                                      .Numeric()).Tooltip(true))

    就运行正常了。原因不知。

  • 相关阅读:
    微服务之初识微服务
    常见的认证机制及JSON WEB TOKEN
    深入理解缓存之缓存预热与淘汰策略
    深入理解缓存之缓存和数据库的一致性
    深入理解缓存之缓存存在的问题及应对措施
    深入理解缓存之常见的缓存算法
    计算机网络之HTTP、HTTPS、HTTP2
    计算机网络之TCP(三次握手、四次挥手等),UDP及DNS
    计算机网络之网络体系架构与IP
    深入理解MyBatis(四)--缓存
  • 原文地址:https://www.cnblogs.com/Benjamin/p/2913679.html
Copyright © 2011-2022 走看看