看到有些网站用标签式写HTML 只要在HTML 里面插入一个标记就可以讲数据插入进去,不过现在遇到个问题就是
《%= %》 这个不知道是怎么实现的google基本都是说反射, 但是反射不能获得实例名而且太慢了。想请问下有什么号的办法实现<%= %>标记的替换

解决方案 »

  1.   

    <%= %>是标记此段代码在服务器执行,就和后台写的代码一样
      

  2.   


    这个标记,相当于 Response.Write("") 方法
      

  3.   


    那有什么办法 我在吧这个标记放到HTML 里面后台程序读取这个表姐里面的内容动态的将对象数据替换进去? 反射找不到实例名啊,我就不知道aspx 里面是怎么做到的 PHP 又不会更别说去研究怎么实现的了
      

  4.   

    你可以把一个aspx文件看作是一个源代码文件,它会被编译为页面类,因此根本不需要什么反射。
      

  5.   

    我没有用aspx 我就是做一个类似模板的html 自后在这个模板里面插入不同的标记 之后再HTTPHaedlr 里面吧标记替换成数据输出出来
      

  6.   

     HTML 模板
     模板内容
     替换后显示的页面
    这个好替换因为是固定的就是那个对应的类 遇到这个标记直接生成一个类 将HTML 添加到流中去
    问题是 <%%> 中的数据是 不确定的所以我不知道该怎么做 
      

  7.   


    对的,他不作为 html 来呈现的。他是服务端代码段
      

  8.   

    哦 那就是说我不管怎么搞都必须要按照这里面标记的内容 反射对象出来执行 Response.Write 是吗?
      

  9.   

    ASP.NET,编译后,你会发现实际的ASPX页面没有内容(WEB应用程序),其中的代码和html内容都被编译进dll里了。
    做法就是编译的时候,把html静态内容存在变量/资源里,把<%=%>之间的代码拿出来编译,最后按顺序输出。运行时,输出<%之前的静态html内容,输出<%=%>之间的代码的输出结果,输出%>之后的静态html内容。所以实际上,效率没有什么影响。以ASP.NET来说,也并非通过反射实现的。顺便说一句<%#%>之类的数据绑定,以DataGridView为例,编译器会生成Itemplete模版来输出内容。具体有兴趣可以反编译通过发布方式输出的Web应用程序。(不是Web站点,站点编译没那么彻底,允许随时修改aspx内容,在首次访问时会重新编译一次)