2013-05-09 118 views
0

好之前運行JavaScript,因此事情是這樣的,如何服務器代碼運行MVC2

我有一個觀點至極呈現的圖表(.NET圖表),我想圖表是大小相同網頁瀏覽器窗口(瀏覽器將始終是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> 

然後使用這些值來渲染我的圖表,這將是偉大的。

回答

0

最後我用Ajax來執行此操作。

<script type="text/javascript"> 
$(document).ready(function() { 
    var width = screen.width; 
    var height = screen.height; 
    $.ajax({ 
     type: "GET", 
     url: "/Charts/Chart", 
     data: { 'width': width, 'height': height }, 
     success: function() { 
     } 
    }); 
}); 

相關問題