原贴:
一:
ASP.NET的页面及时代码,能否实现模版功能(用来做主题功能)
http://topic.csdn.net/u/20100407/11/a5935f58-ca33-4a63-863f-1df4c6c6b4cd.html?seed=528548678&r=64475015#r_64475015
二:
http://topic.csdn.net/u/20100407/13/67fc08fa-4e64-4d7d-8e4b-08c1f2c2c1be.html?seed=2068792399&r=64479438#r_64479438也就是说:
asp的时候是:代码和html页面写在一起
asp.net是aspx+aspx.cs文件
现在我要把aspx文件写的内容,放在一个txt文本里面来写,而不是放在aspx里面谢谢示例下载:http://www.innoworkspc.com/images/themestest.rar

解决方案 »

  1.   

    我想说的在之前的两个帖子里已经说过了--------------------------------------
    所以我想用ASP.NET的方式写的模版,直接替换掉他原来的ASPX或ASCX内容不是更简单吗?而且更强大
    -----------------------------------------------------------------------------------------这个的实现远没有想的那样简单,要做的事 是 在编码后的代码运行时 动态改变该编译代码不论是直接实现还是变相实现 所带来的后果是目前无法估量的 并且都是不良性的有点 修复一个BUG的同时引入了N个BUG的味道有个地方需要改下在编码后的代码运行时 动态改变该编译代码
    =》
    在编译后的代码运行时 动态改变该编译代码
      

  2.   

    Page_Load 这个事件里        Response.WriteFile("Test.html")
            Response.End()就可以把,主意文件名路径问题
      

  3.   

    html页面其实就是个模板页面吧,要是这样的话。
    1、asp.net提供有主题和样式的设置,为什么不用这个功能。
    2、你这个方式asp网站有很多这样的,定义一个html的模板,用asp页面直接填充数据就行,这种例子很多的。不知道说的对不对,抛砖引玉吧。
      

  4.   

    看你的代码,你的aspx和cs文件耦合并不紧密,你的需求是不是就是根据条件显示不同的网页,这些网页是静态的文本?那我说的就可以实现,如果你用asp.net mvc的话,就会发现更符合你的要求
    如果你想实现动态建立一个aspx网页,那确实很麻烦
      

  5.   

    看了示例  本地不能打开
    我的名字是: 
    现在是: 
    您现在看到的是默认用户自定义模版页面 
    <body>
        现在是:<%= DateTime.Now.ToString() %>
        <br />
        我的名字是:<%= MyName %>
        <br />
        您现在看到的是默认显示页面
    </body>
      

  6.   


            protected void Application_Start(object sender, EventArgs e)
            {
                //判断模版是否存在,如果存在用模版如果不存在取Core中的模版
                string themes = "blue";//这个以后写配置文件
                string testPath = Server.MapPath("~/Themes/" + themes + "/Test.html");   //这里定到文件Test.aspx
                if (System.IO.File.Exists(testPath))
                {
                    string text = null;
                    //如果存在,将他替换掉Test.aspx文件
                    using (var sr = new System.IO.StreamReader(testPath))
                    {
                        text = sr.ReadToEnd();
                    }
                    //替换掉原来的
                    using (var sw = new System.IO.StreamWriter(Server.MapPath("~/Test.aspx"), false, System.Text.Encoding.UTF8))
                    {
                        sw.Write(text);
                    }
                }
                else
                {
                    //如果不存在取默认样式
                    string text = null;
                    //如果存在,将他替换掉Test.aspx文件
                    using (var sr = new System.IO.StreamReader(Server.MapPath("~/Core/View/Test.html")))
                    {
                        text = sr.ReadToEnd();
                    }
                    //替换掉原来的
                    using (var sw = new System.IO.StreamWriter(Server.MapPath("~/Test.aspx"), false, System.Text.Encoding.UTF8))
                    {
                        sw.Write(text);
                    }
                }
            }我现在用IO的方法是可以实现我的要求,
    但是这样的话,每次在Application_Start的时候都要进行对Test.aspx页面的修改
    但是我们传到网上的话一般只会给只读的权限,所以会有权限问题谢谢
      

  7.   

    看看能否在不修改Test.aspx页面的情况下实现我的功能,具体看Global.ascx
      

  8.   

    将txt文件作为控件,似乎是可以加载得
    之前搜索过用户控件的一些内容,好像看到过加载文件然后进行render