如何访问不同webform的div?

时间:2013-02-21 06:45:22

标签: asp.net vb.net html

How to set the size of div in asp.net using vb code

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

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

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

3 个答案:

答案 0 :(得分: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的高度加倍。

只是替代方法。

答案 1 :(得分:1)

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

Form1中:

<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。

答案 2 :(得分:0)

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