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

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

  • 相关阅读:
    第1章 初涉MySQL
    成绩转换
    【JSTL】--附加:c:import,c:url;c:param,c:redirect--drp217
    【JSTL】--JSTL表达式:c:forEach,varstatus/begin end/循环控制标签--drp215
    【JSTL】--JSTL表达式:c:forEach--drp215
    【JSTL】--JSTL表达式:c:set,c:if,c:choose,--drp214
    【JSTL】--c:out演示--drp213
    【JSTL】--测试EL表达式--drp212~
    【JSTL】--读取实体成员变量吗?--drp212
    【JSTL】--测试EL表达式--drp212
  • 原文地址:https://www.cnblogs.com/Benjamin/p/2913679.html
Copyright © 2011-2022 走看看