html.partial的一個bug?

來源:互聯網
上載者:User

主視圖:

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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.