当前位置:编程学习 > C#/ASP.NET >>

服务器端的Form表单在提交时如何在新窗口中打开

   我在.net2005里面创建了一个页面,在这个页面里面有很多数据传到另外一个页面,而且此页面要在新窗口中打开。当我把form的target设置为_blank时,而没次向服务器回传时都会打开一个新窗口,而我是只想在最后点击提交时才想打开一个新窗口,不知道该怎么解决?请您给予指点 --------------------编程问答-------------------- 用session传递吧   用完清掉就好了 --------------------编程问答-------------------- 前几天给别人写的例子,不知道能不能解决楼主的问题
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
<script type="text/javascript">
function change(frm){
    var obj1 = document.getElementById("__VIEWSTATE");
    if (obj1 != null)
        obj1.parentNode.removeChild(obj1);  
        
    var obj2 = document.getElementById("__EVENTVALIDATION");
    if (obj2 != null)
        obj2.parentNode.removeChild(obj2);  
    
    frm.target='_blank';
    frm.action='result.aspx';
}
</script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:button id="btn1" Text="提交" onclientclick="change(this.form);" runat="server" /> 
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>
    </form>
</body>
</html>
--------------------编程问答-------------------- 用Session好了 --------------------编程问答-------------------- 动态添加_blank就好了
如二楼所述 --------------------编程问答-------------------- 试试 高歌 的方法 --------------------编程问答-------------------- 提交ASP.NET表单时,必须给“__VIEWSTATE”和“__EVENTVALIDATION”赋值。“__VIEWSTATE”和“__EVENTVALIDATION”的值可以通过在要提交的页面上按右键“查看源文件”中找到。如下: 
        id="__VIEWSTATE" value="/wEPDwUKMTg0NTgwMzM2M2RksjXHwIOzdq/skwDy1k6qTexm2j0=" 
        id="__EVENTVALIDATION" value="/wEWBAKxhbOEAQKPpuq2CALyveCRDwLejM6fDwP2723lUdzBJVBIAVzbpM2sXYqc" 
通过“查看源文件”得到的“__VIEWSTATE”和“__EVENTVALIDATION”的值还不能直接提交给表单,还需要转换成URL编码的字符串。
这样,在第一次点击按钮时,就硬性地删除了提交所必备的两个条件viewstate和EventValidation,使得每次回传时,不会产生提交表单,直到最后点击按钮,不知楼主我理解得是否正确,
还有,楼主能不能详细地讲一讲需求呢(一套流程),因为我不太理解你的需求,经验太少了,希望楼主能提供一下。 --------------------编程问答-------------------- 我做了一个查询,需要把查询结果在另一个页面显示,由于查询条件比较复杂我需要向另外页面传递比较多的数据,所以我采用了把查询页的数据提交到查询结果页进行处理,并且查询结果页在新窗口中显示。当我把查询页form的target设置为_blank时,由于form表单里面有像DropDownList这样的服务器控件,当DropDownList的改变索引值时就会回传,同时也就会弹出一个新的结果页面,这个结果不是我想要得,我是想最后提交时才显示新的结果页。不知道该怎样设置form的target属性能使在dropdownlist回传时不弹出新窗口,而在最后提交时在弹出新窗口 --------------------编程问答-------------------- 将DropDownlist回传postback属性设为false --------------------编程问答--------------------
引用 8 楼 only_endure 的回复:
将DropDownlist回传postback属性设为false


--------------------编程问答--------------------
引用 8 楼 only_endure 的回复:
将DropDownlist回传postback属性设为false
--------------------编程问答-------------------- 我需要回传获取数据,不能将DropDownlist回传postback属性设为false 
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,