最近在学习模板引擎技术。
这是aspx页面的cs代码:
     protected void Page_Load(object sender, EventArgs e)
        {            TemplateManager tm = new TemplateManager();
            tm.LoadTemplate(HttpContext.Current.Server.MapPath("~/Login/login.htm"));
            tm.Functions.Add("Vaa", new TemplateFunction(Vaa));
            Response.Write(tm.Process());
            Response.End();
        }        static object Vaa(object[] args)
        {
            if ((string)args[0] == "3" && (string)args[1] == "3")
            {
                return true;
            }
            else
            {
                return false;
            }
        }    }这是html模板的js:
<script type="text/javascript">
    function login()
    {
    
        var a=document.getElementById("txtUser").value;
        var b=document.getElementById("txtPwd").value;
        alert('#Vaa("2","2")#');//这样静态的传值可以, 怎么给它动态的传值?把页面控件的值传给它?比如怎样把a和b传给它呢??
        
}
</script>

解决方案 »

  1.   

    这叫什么乱七八糟的“模板引擎”啊?!在aspx你只要写<%= MyProc() %>那么就可以调用后台插入任何html,用不着另外再把这些东西写到一个什么html文件里然后再用aspx代码来编写读取文件、替换等等操作的代码啊。所谓“模板引擎”是对asp、jsp都不太懂的人读10几年前的asp网站源代码简单修改为asp.net的风格,把asp.net程序根本就自动化完成的事情当作什么“技术发明”了。
      

  2.   

    如果真的需要什么可替换,切换theme、ascx好了。如果你担心用户不懂的如何把其它网站里调试好了的并且编译好了的ascx放入你的网站,在发布你的网站是不要取消“允许修改此预编译网站”的选项就好了(这样asp.net运行时自动编译任何未完全编译的文件)。总之用变量、方法以asp风格来替换html的工作根本就是aspx、ascx中的<%= abc %>这个语法的事情,不用自己写什么替换代码。
      

  3.   

    呵呵,
    这个东西现在套了件马甲,有个时髦的名词了,叫什么...MVC来的
      

  4.   

    aspx 就是一个极其强大的模板引擎了。就连.net mvc 也能支持得了。
      

  5.   

    aspx 就是一个极其强大的模板引擎了。