正在做编辑预览,要将控件的内容传送到新窗体,但是提供的都是在当前页面跳转,不是我想要的,而且不能用<form id="form1" runat="server" target=_blank>.顺便还有两个问题:
1、在GridView里创建模版,添加了一个DropDownList控件,但是在编辑模式下不能更新,因为取不到DropDownList控件的值,我用的系统自带数据源<asp:ControlParameter Name="workName" ControlID="DropDownList1" PropertyName="DataValueField" />
提示我在workName下未发现DropDownList1控件,但我已经创建了.
 
2、怎样对控件循环,例如
for (i=0;i<5;i++)
{
     <asp:FileUpload ID="FileUpload1" runat="server" />
      <uc1:news1 ID="News1_1" runat="server" classNamesID="科协动态"/>
}
这样可以吗??

解决方案 »

  1.   

    用LinkButton而不用Button 就应该很好解决了
      

  2.   

    以上方法都用过了,页面之间传送控件方法很多,关键是新建页面。SESSION也可以,但怎么在打开新页面之前怎么给SESSION赋值,LinkButton和Button都是一样的,只不过不是按钮而已,也想过HyperLink,但他却没有单击事件,郁闷。。
      

  3.   

    页面传值方法
    1.session ,效率低
    2.使用http头传。
      

  4.   

    xxx.Attribute.Add("onclick","javascript:window.open('xxx.aspx?id1=xx','new','....')");xxx.NavigateUrl="javascript:window.open('xxx.aspx?id1=xx','new','....')";
      

  5.   

    以上方法都用过了,页面之间传送控件方法很多,关键是新建页面。SESSION也可以,但怎么在打开新页面之前怎么给SESSION赋值,LinkButton和Button都是一样的,只不过不是按钮而已,也想过HyperLink,但他却没有单击事件,郁闷。。
    -----------------------------------
    你在Click事件先给session赋值,然后再Response.Redirect跳过去

    Response.Write("<script>");
    Response.Write("window.open('xxx.aspx?id1=xx','new','....'));
    Response.Write("</script>");
      

  6.   

    不能用http头传,因为我做的是新闻预览,所以内容太大了。看了楼上两位有点思路
    现给按钮添加属性用来打开预览窗口;
    xxx.Attribute.Add("onclick","javascript:window.open('xxx.aspx')");然后给Session赋值,这样在xxx.aspx'窗口取到值。但是问题又来了,每次都是先打开窗口,然后Session才赋值,这样第一次打开xxx.aspx的时候Session为空,出现错误,要是能让他两个顺序倒过来就OK了
      

  7.   

    用弹出式窗体,但会有新的问题,如对datagrid不能分页
    function showWindow(sFile){
    window.showModalDialog(sFile,"popUp","dialogHeight:500px;dialogWidth:600px;status:no;help:no;edge: Raised;min=yes;max=yes;scrollbars=yes;");
    }
      

  8.   

    showmodaldialog里加个iframe就可以分页了把iframe宽和高设置为0px
    xxx.Attribute.Add("onclick","javascript:window.open('xxx.aspx?id=')");用这个不要用session了直接用http头传。'xxx.aspx?id='"+TextBox1.Text+"'
      

  9.   

    现已完满解决了, 
     Private Sub showDetail()
            Dim executingPage As Page = HttpContext.Current.Handler
            If (Not executingPage Is Nothing) Then
                Dim sb As StringBuilder = New StringBuilder
                sb.Append("<script language='javascript'>")
                sb.Append("showWindow('QueryDetail.aspx');")
                sb.Append("</script>")
                executingPage.RegisterStartupScript("closeScript", sb.ToString())
            End If
        End Subfunction showWindow(sFile){
    window.open(sFile);
    }