当前位置:编程学习 > C#/ASP.NET >>

MVC中重新载入VIewbag中的数据

 function selects() {
            $.post("/Statistics/orderStatistics", {
                start_Date: $("#sdate").datebox("getValue"),
                end_Date: $("#edate").datebox("getValue")
            }, function (data) {
                $.each(data, function (idx, item) {

                });

                @Html.Raw(ViewBag.ChartHtml);
            });
        }
中的@Html.Raw(ViewBag.ChartHtml);这句是不正确的,我想要实现的是重新获取一次ChartHtml的里面的值,求JS怎么写 或者在后台怎么写,先谢谢各位大侠了。 mvc javascript viewbag --------------------编程问答-------------------- 这个是Ajax异步吗? 应该使用data返回值 而不是 
@Html.Raw(ViewBag.ChartHtml); --------------------编程问答-------------------- 你的语法不对,这么写是把ViewBag.ChartHtml输出在这个js片断中间。

你得让ChartHtml的结果通过/Statistics/orderStatistics返回。 --------------------编程问答-------------------- 弄一个 变量进行接收,下面就好操作了 
var charthtml=@Html.Raw(ViewBag.ChartHtml); //这行的数据格式有问题的话,加个div进行包装。
//要明白这句 @Html.Raw(ViewBag.ChartHtml);是生存html文档时 就已经生成好了,前台和后台要分清楚。  --------------------编程问答--------------------
引用 2 楼 caozhy 的回复:
你的语法不对,这么写是把ViewBag.ChartHtml输出在这个js片断中间。

你得让ChartHtml的结果通过/Statistics/orderStatistics返回。
返回的什么格式的?Json么?返回后在success中怎么写?返回下面的xmlSource?
string xmlSource = "";
            xmlSource = "<graph caption='Monthly Unit Sales' xAxisName='Month' yAxisName='Orders' decimalPrecision='0' formatNumberScale='0'>";

            foreach (var item in bll.orderStatistics("Months", Convert.ToDateTime(start_Date), Convert.ToDateTime(end_Date)))
            {
                xmlSource += "<set name='"+
                    item.dateforYear +
                    "/" +
                    item.dateforMonth + "' value='" + item.orderCount + "' color='AFD8F8'/>";
            }
            xmlSource += "</graph>";

            ViewBag.ChartHtml = FusionCharts.RenderChart("../FusionCharts/FCF_Column3D.swf", xmlSource, "", "FactorySum", "788", "450", true, false);
--------------------编程问答--------------------
引用 3 楼 claymore1114 的回复:
弄一个 变量进行接收,下面就好操作了 
var charthtml=@Html.Raw(ViewBag.ChartHtml); //这行的数据格式有问题的话,加个div进行包装。
//要明白这句 @Html.Raw(ViewBag.ChartHtml);是生存html文档时 就已经生成好了,前台和后台要分清楚。 
你的意思是说@Html.Raw这里的ViewBag.ChartHtml数据在页面载入就生成了么?那我要更改@Html.Raw中的ViewBag.ChartHtml有办法更改吗?就是页面加载的时候ViewBag.ChartHtml是一些数据,我点某个按钮后ViewBag.ChartHtml数据更改了,有办法让它替换并显示在页面上吗? --------------------编程问答-------------------- @Html.Raw(ViewBag.ChartHtml);是服务端代码。。。你可以查看下页面源代码,他会直接将你的ViewBag.ChartHtml的值直接显示在那段js脚本中。。。

猜想你应该是想通过ajax请求/Statistics/orderStatistics改变ViewBag.ChartHtml的值然更新到前台。。。

不过木有上下文不好搞。。。
补充:.NET技术 ,  LINQ
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,