【问题标题】:How to make asp .net chart (with even handling) size responsive如何使 asp .net 图表(甚至处理)大小响应
【发布时间】:2016-07-13 01:20:40
【问题描述】:

我正在使用 asp .net 图表控件来创建条形图`。我的 aspx 页面不允许我以百分比设置宽度(如果以百分比设置,则会在运行时出错,说只能以像素为单位设置)。

我正在处理图表上的点击事件(不同的条形图是可点击的/超链接 - 点击它会将 X 和 Y 值发送到后面代码中的方法)。

现在我尝试将我的 css 中图表的宽度设置为 100%,然后发生的情况是图表的大小发生了变化,但超链接的位置保持不变,并且条形超链接与实际可见位置不匹配酒吧。 (我认为这背后的原因是 - asp 图表只不过是浏览器的图像 - 因为最终生成的 html 代码包含一个代替,并且该图表中的超链接由坐标定义,以保持图表中的不同区域超链接)。 所以在使用 css 时,图像的大小会发生变化,但超链接保持不变。

我为什么要保持我的 asp 图表的大小是因为我想让图像的大小响应不同的屏幕大小。请告诉我应该怎么做?帮助表示赞赏。提前致谢。

【问题讨论】:

    标签: c# asp.net .net aspchart


    【解决方案1】:

    我不知道这是否可以帮助,我使用了一个简单的javascript来根据页面大小调整图形大小;脚本检查窗口大小是否大于 1024px,使用 UpdatePanel,此处为 documentation

     <script type="text/javascript" language="javascript">
            function load() {
                Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
            }
    
            function EndRequestHandler() {
                $(document).ready(function () {
                    scale();
    
                });
                $(window).resize(function () {
                    scale();
                });
                function scale() {
                    var wi = $(window).width();
                    if (wi >= 1024) {
                        var w_wi = $("#ChartID").width();
                        var w_he = $("#ChartID").height();
                        var rpt = w_he / w_wi;
                        $("#ChartID").css("width", $(window).width());
                        $("#ChartID").css("height", wi * rpt);
                    } else {
                        scaleDefault();
                    }
                }
                function scaleDefault() {
    
                    var wi = $(window).width();
                        var w_wi = $("#ChartID").width();
                        var w_he = $("#ChartID").height();
                        var rpt = w_he / w_wi;
                        $("#ChartID").css("width", 1024);
                        $("#ChartID").css("height", 1024 * rpt);
                }
    
            }
            $(function () {
                EndRequestHandler();
            });
    
        </script>
    

    【讨论】:

    • 对不起,亚历克斯...我是该网站的新手...所以没有足够的声誉来为您投票...此解决方案不会导致超链接和可见位置不匹配又是条形图……我们不需要代码隐藏来再次构建图表吗?
    • ...您应该只选择我的解决方案...关于您的问题,该脚本仅适用于您正在考虑的 id 图#ChartID = your_char_ID
    猜你喜欢
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    相关资源
    最近更新 更多