放一个TextBox,设名为retValue,再放一个按扭,btnOpen,名字自己看着,这里是让你好看清代码.
StringBuilder sb = new StringBuilder();   
if ( ! IsClientScriptBlockRegistered( "clientScript" ) ) 
{
   sb.Append( "<script language=''''javascript''''>\n" )
   sb.Append( " function OpenIEdialog() { \n" )
   sb.Append( "   var ret = window.showModalDialog( ''''test2.aspx'''' ); \n" )
   sb.Append( "   if ( ret != undefined ) { \n" )
   sb.Append( "     document.getElementById(''''" + retValue.ClientID + "'''').value = ret \n" )
   sb.Append( "   } \n" )
   sb.Append( " }\n " )
   sb.Append( "</script>\n" );
   RegisterClientScriptBlock( "clientScript", sb.ToString() );
      }
   
      btnOpen.Attributes.Add( "onClick", "javascript:OpenIEdialog();" );然后就可以在按扭的Click事件中获取retValue的值

解决方案 »

  1.   

    还要加句回传到服务端.
    sb.Append( "__doPastBack(''''" + btnOpen.UniqueID + "'''', '''''''');\n" )
    应该是这样的。没有测试过
      

  2.   

    string temp = string.Format("attachment;filename={0}", fileName + ".csv");
    Response.ClearHeaders();
    Response.ContentType = "application/ms-excel";
    Response.AppendHeader("Content-disposition", temp);
    Response.ContentEncoding = Encoding.Default;
    Response.Write(data);
    Response.End();
    CSV出力代码弹出IE保存对话框就想获得客户是点了"打开","保存"还是"取消"按钮呢?