最近被强拉做WEB程序,需要将以前的一个ASP程序做成ASP.NET的
遇到一个问题
在ASP程序中
<%
服务端代码,得到变量.然后include 一个文件
%>
<!-- #include file="save.asp" -->
<%
%>
save.asp的内容如下
<HTML>
<HEAD><Script Language="JavaScript">
function saveuser()
{     
saveobj.saveuser( "<%= user %>" );由服务端脚本生成
}
</Script>    
</HEAD>
<BODY leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onLoad="saveuser()">
<OBJECT classid= id=saveobj>
第三方开发的控件,其中一个方法为saveuser(string)
</OBJECT>
<table width="484" height="230" border="0" cellpadding="0" cellspacing="0" >
  <tr> 
  
  </tr>
</table>
</BODY>
</HTML>
现在到了ASP.NET时代,我却不知道该如何实现这样的效果了,在服务端代码中间肯定不能INCLUDE,将服务端变量交给客户端也没有ASP时代<%=变量名%>来的容易,这该死的ASP.NET到底想干什么?牢骚归牢骚,还是请坛子上的高人帮帮我吧.

解决方案 »

  1.   

    在.net中把一个页加入到另一个页面中要用:protected override void OnInit(EventArgs e)
    {
      你要加的页面类 _你要加的页面类;
      _你要加的页面类=(你要加的页面类)LoadControl("你要加的页面.aspx");
      Page.Controls.AddAt(0,_你要加的页面类);
      base.OnInit(e);
    }
      

  2.   

    OnInit是客户端提交到服务器端的第一个事件
    Render是服务器呈现到客户端的最后一个有的时候两个地方都要处理!
      

  3.   

    除了应用ajax技术呢?有没有别的解决方法?
      

  4.   

    1、你想动态加载save.asp这个文件
    你可以这样试一下,看看行不行:
    .cs文件里获得你要的变量Flag
    然后写一个public string showSave()
    {
        StringBuilder _value = new StringBuilder();
        if(Flag)//符合你的要求
        {
          _value.Append("save.asp的页面代码");
        }
        return _value;
    }
    在.aspx文件里:
    <%=showSave()%>
    看看能不能实现,简单一句话吧你要显示的内容拼成字符串输出。
      

  5.   

    ,将服务端变量交给客户端,用一个最简单的办法,你方一个textbox在webform上,
    然后把它的visible为flase,然后在aspx.cs代码里面把变量的值给这个textbox的text然后到客户端就变成一个<input type = input value='变量的值'>