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

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

  • 相关阅读:
    监控视频长度压缩算法
    获取客户端IP
    常用API接口签名验证参考
    .NET发布的程序代码防止反编译
    SQL Server 获取日期时间并格式化
    SQL Server2008R2可疑状态恢复
    限制网站报错信息暴露在外(客户端可以查看到)
    发布网站时线上网站务必把debug设置false
    IIS上的项目网站关闭Http请求中的Trace和OPTIONS
    使用uploadify上传大文件报 IO error #2038错误的解决方案
  • 原文地址:https://www.cnblogs.com/Benjamin/p/2913679.html
Copyright © 2011-2022 走看看