0

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

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

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

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

4

1 回答 1

1

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

 <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>
于 2016-07-12T09:12:35.647 回答