使用隐藏iframe方法弹出的DIV,如何才能提交到服务器。

watt 2010-05-25 03:30:59
用js代码使用隐藏iframe弹出的DIV并显示网页后,如何才能提交到服务器?就象dicus论坛那样的技术,显示网页没有问题,但是使用隐藏iframe提交页面时后台isPostBack属性一直是false,它认为是get方法,如何才能让后台取得html页面提交的数据?


注意,弹出的DIV显示的页面相当于html页面,页面中没有viewstate等信息。

这个问题也可以是说如何让asp.net取得Html页面提交的数据。
...全文
173 11 点赞 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
watt 2010-05-25
刚刚试验了下,不用管ispostback属性是可以取得到html提交的数据的。
  • 打赏
  • 举报
回复
watt 2010-05-25
下面是试验的代码,有乐于研究的可以看一看,当然这与实际代码不同,但是提交后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>
  • 打赏
  • 举报
回复
子夜__ 2010-05-25
  • 打赏
  • 举报
回复
watt 2010-05-25
discuz论坛读取页面时动态创建iframe,取得数据后删除iframe,提交页面时也动态创建iframe,成功后也删除iframe,如果用iframe读取并用iframe显示数据则弹出的页面受iframe控制。discuz是用iframe读取或提交,但是用DIV显示数据,弹出的DIV窗体与父页面实际在一起。

我想用asp.net实现,但是就是提交时不行了,在试一试,实在不行就用ajaxpost方法。
  • 打赏
  • 举报
回复
mngzilin 2010-05-25
无码也无图
  • 打赏
  • 举报
回复
watt 2010-05-25
就象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吗?如何才能提交到?
  • 打赏
  • 举报
回复
请叫我卷福 2010-05-25
iframe中式html页面还是aspx页面啊?
是html页面就用form提交,服务器端用request[""]接受传来的变量值
是aspx页面的话就可以直接回传了吧
  • 打赏
  • 举报
回复
帮顶 学习~!
  • 打赏
  • 举报
回复
lyboyc 2010-05-25
[Quote=引用楼主 watt 的回复:]
但是使用隐藏iframe提交页面时后台isPostBack属性一直是false...
[/Quote]
应该不会出这个问题吧..?
  • 打赏
  • 举报
回复
gongsun 2010-05-25
Request.Params["你表单中的控件的name"]
  • 打赏
  • 举报
回复
mngzilin 2010-05-25
request.Form["id或name"]
  • 打赏
  • 举报
回复
相关推荐
发帖
.NET社区
加入

5.9w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2010-05-25 03:30
社区公告
暂无公告