用js代码使用隐藏iframe弹出的DIV并显示网页后,如何才能提交到服务器?就象dicus论坛那样的技术,显示网页没有问题,但是使用隐藏iframe提交页面时后台isPostBack属性一直是false,它认为是get方法,如何才能让后台取得html页面提交的数据?
注意,弹出的DIV显示的页面相当于html页面,页面中没有viewstate等信息。这个问题也可以是说如何让asp.net取得Html页面提交的数据。

解决方案 »

  1.   

    Request.Params["你表单中的控件的name"]
      

  2.   

    iframe中式html页面还是aspx页面啊?
    是html页面就用form提交,服务器端用request[""]接受传来的变量值
    是aspx页面的话就可以直接回传了吧
      

  3.   

    就象discuz论坛那样,请大家看清楚了,不要想当然是认为iframe中html页面还是aspx页面,使用iframe只是取得数据,最后的数据是显示在DIV中的,提交时还需要重新创建iframe,然后使用,form.method=post;form.action="XXXX.aspx";form.target=iframeid;form.submit();discuz论坛就是这样弹出假窗体的,我也认为asp.net这样做也应该能行。但是不知道为什么后台一直认为是get而不是post,后来查资料好象与viewstate有关,因为弹出的窗体中没有viewstate数据,就是一个html页面。难道没有viewstate的数据纯净的html不能提交到asp.net吗?如何才能提交到?
      

  4.   

    discuz论坛读取页面时动态创建iframe,取得数据后删除iframe,提交页面时也动态创建iframe,成功后也删除iframe,如果用iframe读取并用iframe显示数据则弹出的页面受iframe控制。discuz是用iframe读取或提交,但是用DIV显示数据,弹出的DIV窗体与父页面实际在一起。我想用asp.net实现,但是就是提交时不行了,在试一试,实在不行就用ajaxpost方法。
      

  5.   

    下面是试验的代码,有乐于研究的可以看一看,当然这与实际代码不同,但是提交后isPostBack一直为false。discuz是用PHP写的,难道asp.net提交html就不行了吗?注意了提交页面中无__VIEWSTATE,<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>试验</title>
    <script type="text/javascript">
    function submithtml()
    {
    alert("Sumit");
    var oframe=document.getElementById("frametest");
    var oform=document.getElementById("formtest");

    oform.target = "frametest";
    oform.submit();
    return false;
    }
    </script>
    </head>
    <body>
        <div>
            <iframe id="frametest"></iframe>
        <div>
        <html>
            <head><title>试验</title></head>
        <body>
        <form method="post" name="formtest" id="formtest" action="topicadmin.aspx">
        <input name="txttest2" type="text" id="txttest" value="123456" />
        <input type="button" value="提交" onclick="submithtml()"  />
        </form>
        </body>
        </html>
        </div>
    </div>
    <form id="main" runat="server">
    </form>
    </body>
    </html>
      

  6.   

    刚刚试验了下,不用管ispostback属性是可以取得到html提交的数据的。