我无法相信我花了3个小时才找到解决方案。它看起来很简单,但这是不可能的。
我使用ASP控件(LineChart),我想设置图表的宽度与页面加载时的屏幕尺寸相同。
所以这些是我做过的一些方法,但都失败了。我不确定它值得一提,但如果你愿意,可以跳到#4:
Javsscript:
$(document).ready(function () {
width = $(window).width();
height = $(window).height();
document.getElementById('ContentPlaceHolder1_hfWidth').value = width;
document.getElementById('ContentPlaceHolder1_hfHeight').value = height;
});
代码背后:
LineChart1.ChartWidth = hfWidth.Value;
LineChart1.ChartHeight = hfHeight.Value;
我从后面的代码调用Javascript,也没有工作。因为找不到隐藏字段控件。
我创建了2个隐藏字段和1个隐藏按钮。在Page_Load没有任何功能,我将这些功能移到另一个函数调用getScreenSize(),我在document.ready触发按钮单击。单击按钮,我能够获得屏幕大小,但它会导致无限回发。 (按钮一次又一次地点击触发器)
现在我在想,无论如何我们可以直接从Javascript获取价值到HTML吗?这是我仍在使用的代码/想法,请建议我。
使用Javascript:
var screenWidth = $(window).width();
HTML:
<cc1:LineChart ID="LineChart1" runat="server" ChartWidth='<%#Bind("screenWidth") %>' ChartType="Basic" >
</cc1:LineChart>