1

如何使用vb代码在asp.net中设置div的大小

这个问题是关于访问 div 并设置它的高度。这个问题的答案是正确的。

现在我想问我如何访问不同webform的div?

有两个webforms,例如Default1.aspx和Default2.aspx,webform Default1.aspx在一个Iframe里面,然后Iframe在Default2.aspx的div里面。在我的 webform Default1.aspx 中,我有一个按钮,按钮事件后面的代码是设置 Default2.aspx 的 div 的大小。希望你能理解

4

3 回答 3

1

我认为您不能直接访问该 div,但您可以通过存储会话变量来产生类似的效果。在具有要更改的 div 的 Web 表单中,您将使用 Page_Load 事件处理程序来检查该会话变量是否存在,然后使用该变量的值设置 div 的高度。

编辑

我创建了一个测试页面,以查看此方法是否适用于 iframe,并且似乎确实如此。我使用的代码是:

在主页

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Session("divHeight") = "100px"
End Sub

在二级页面

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Session("divHeight") Is Nothing Then
        divTest.Style.Add("height", "50px")
    Else
        divTest.Style.Add("height", Session("divHeight"))
    End If
End Sub

这导致按下按钮时有问题的 div 的高度增加了一倍。

只是为了另一种方法。

于 2013-02-21T06:53:51.130 回答
1

这就是我让它工作的方式,你只需要一些javascript:

表格1:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script>
    function changeDiv() {
        frames["myiFrame"].document.getElementById("divInFrame").setAttribute("style", "height:1000px");
    }
    </script>
    <title></title>

</head>
<body>
    <form id="form1" runat="server">
    <input id="Button1" type="button" value="button" onclick="changeDiv();" />
    <iframe src="Default2.aspx" style="border: 0px #FFFFFF none;" name="myiFrame" id="myiFrame"
        scrolling="no" frameborder="1" marginheight="0px" marginwidth="0px" height="60px"
        width="468px"></iframe>
    </form>
</body>
</html>

表格2:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div id="divInFrame">
      I am the second form!
    </div>
    </form>
</body>
</html>

所以基本上这条线负责做所有事情:

frames["myiFrame"].document.getElementById("divInFrame").setAttribute("style", "height:1000px");

请注意,使用这种方法,您不一定需要从 Vb 设置高度,就像在上一个问题中一样,您只需要一个普通的 HTML div。

于 2013-02-21T07:10:56.370 回答
0

您可以在加载 Web 表单时访问 div,但无法从其他 Web 表单访问它,因为当加载 Web 表单时,它会将所有内容下载到您的浏览器(客户端),而另一个 Web 表单将位于服务器端。

于 2013-02-21T06:49:52.533 回答