zoukankan      html  css  js  c++  java
  • Datagrid中弹出新窗体出现的含有[object]空白页面问题的解决

    遂去网上搜了半天,发现对此问题回答什么的都有,总结起来大致有如下几个:

    1、代码改为:

    javascript:varwin=window.open('WebForm2.aspx?pname={0}',null,'width=300,height=150');history.forward();

    2、看出了WebForm1.aspx.cs中的代码有问题 
               private   void   Page_Load(object   sender,   System.EventArgs   e) 
                      { 
                                   if  (!this.IsPostBack  )   
                                      this.BindData();     
                      } 
      就是这句,把if  (!this.IsPostBack  ) 去掉就可以 。原因分析为在单击DataGrid的超链接时,页面刷新了,这样IsPostBack=true,所以页面上就没有了数据。

    3、只要在datagrid使用模板列,在模板列里添加Hyperlink控件,让Hyperlink控件Target属性为"_blank"。

    后又发现网上造成这个问题的代码都是类似的,忽然发现一篇文章正常链接打不开用百度快照才看到文章的内容:

    “下面的代码是页面内代码(.aspx),我发现有不少人问为什么新窗口弹出来后,原来的页面变成了只剩[Object]字样的空白页面,其实我先前也碰到了,而且很多老外也问同样的问题。原因是不知道大家最先都从哪里看到了一个最原始的代码..."javas cript:varwin=window.open...,这里的var和win之间要空一格!见下面:

    弹出的页面一般是作为详细资料用的,可以用Session传递DataSet,就不熬述了。 [asp:HyperLinkColumn Text="详细" DataNavigateUrlField="CNo" DataNavigateUrlFormatString="javascript:var win=window.open('Vip_CxCustDetail.aspx?CNo={0}',null,'top=50,left=50,width=615,height=395');" DataTextField="CustNo" DataTextFormatString="详细"][/asp:HyperLinkColumn]”,var在Javascript中声明一个变量,其实win只是一个变量名,改成其它也可比如newwin。

  • 相关阅读:
    Windows7驱动调试小Tips
    [Sencha ExtJS & Touch] 在Sencha(Extjs/Touch)应用程序中使用plugins(插件)和mixins(混入)
    C语言开发函数库时利用不透明指针对外隐藏结构体细节
    CLLocationManagerDelegate的解说
    RecyclerView的使用(1)之HelloWorld
    黑马day07 登录注冊案例(一)
    在互联网公司和行业软件公司上班,有什么差别?
    RHEL7 -- systemd
    RHEL7 -- 识别文件系统和设备
    11G新特性 -- 块介质恢复性能增强(block media recovery)
  • 原文地址:https://www.cnblogs.com/fooke/p/1672463.html
Copyright © 2011-2022 走看看