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))

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

  • 相关阅读:
    技术博客-3 nginx+uwsgi部署DRF项目踩坑
    Scrum meeting 3
    经典模型及简单模型实践
    inference样例(一)
    Scrum meeting 2
    技术博客-2 DRF用户权限以及邮箱验证
    网页加载慢,你知道几种原因?
    服务器无法访问,如何迅速精准排查定位
    什么是单点登录?单点登录的三种实现方式
    linux中 替换内容的命令
  • 原文地址:https://www.cnblogs.com/Benjamin/p/2913679.html
Copyright © 2011-2022 走看看