2011-06-07 48 views
0

我有一个连接到母版页的页面。在这个页面我有更新面板,在它有我有一个asp.net面板。如何根据用户屏幕的分辨率设置面板的宽度和高度?

该面板具有显示来自数据库的数据的gridview。目前我已固定面板的宽度和高度。因此,如果用户屏幕分辨率大于指定的宽度和高度,则会留下空白空间。

我想避免这种情况。我读过,我们可以使用JavaScript来获得用户屏幕的屏幕分辨率。我在一个没有附加到任何masterpage的页面中尝试了这一点,并在该页面的主体中调用了该javascript函数,并且它工作正常。但我不知道如何在连接到母版页的页面中执行此操作。所使用的代码是:

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled Page</title> 

    <script language="javascript" type="text/javascript"> 
    function getWidth(width) 
    { 
     document.getElementById('Panel1').style.width = width+'px'; 
    } 
</script> 
</head> 
<body onload="javascript:getWidth(screen.width)"> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Panel ID="Panel1" runat="server" BorderStyle="Dotted" Height="50px" Width="125px" ScrollBars="Horizontal"> 
      </asp:Panel> 

    </div> 
    </form> 
</body> 
</html> 
+2

你有没有想过只使用CSS来设置宽度和高度?这样,你可以#Panel1 {width:100%; height:100%;} – Richard 2011-06-07 10:58:16

+0

如果我将面板的宽度和高度设置为100%,那么它不会给我滚动条,即使它们设置为true。相反,它会在整个页面中创建一个滚动条,我不希望这样。 – Abdullah 2011-06-07 14:55:07

回答

0
<script language="javascript" type="text/javascript"> 

    var prm = Sys.WebForms.PageRequestManager.getInstance(); 

    function BeginRequestHandler(sender, args) { 
    } 

    function EndRequestHandler(sender, args) { 
     getWidth(screen.width) 
    } 

    prm.add_beginRequest(BeginRequestHandler); 
    prm.add_endRequest(EndRequestHandler); 

    function getWidth(width) 
    { 

     $get('<%=Panel1.ClientID%>').style.width = width+'px'; 

    } 

</script> 
相关问题