好的,事情是这样的,
我有一个呈现图表(.net 图表)的视图,并且我希望图表与 Web 浏览器窗口的大小相同(浏览器将始终为 IE 9)。
我已经尝试了几个例子,但没有一个对我有用。由于图表被渲染为图像,我需要在图表被渲染之前知道浏览器的大小(这发生在服务器端)。
我的意图是人们可以通过 URL 发送参数来创建图表,因此不能选择来自另一个视图或控制器的这些值。
有没有办法做到这一点?这是查看代码
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Charts.Master" Inherits="System.Web.Mvc.ViewPage<KpiDataBase.Models.ChartModel>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<%if (Model.Series != null)
{
System.Web.UI.DataVisualization.Charting.Chart Chart1 = new System.Web.UI.DataVisualization.Charting.Chart();
Chart1.Width = 1400; -> this are the values that need to be dynamic
Chart1.Height = 1100;-> this are the values that need to be dynamic
... code for generating the chart....
// Render chart control
Chart1.Page = this;
HtmlTextWriter writer2 = new HtmlTextWriter(Page.Response.Output);
Chart1.RenderControl(writer2);
}%>
</asp:Content>
任何帮助将不胜感激。通过在互联网上搜索,我发现这只能通过 JavaScript 来实现。如果可以运行此脚本:
<script type="text/javascript">
function getWidth() {
var width = $(window).width();}
return width, height ;
</script>
<script type="text/javascript">
function getHeigth() {
var height = $(window).height();}
return height ;
</script>
然后使用这些值来渲染我的图表,那就太好了。