听说好像ASP.NET有这么一说:“代码和页码分离”。不知道是什么意思,难道是ASP.NET代码写在一个文件里,而页码写在一个文件里吗?那代码的文件后缀名是什么啊?
   我现在刚开始学,刚刚碰到个“封装”的问题,想问一下,封装是不是就是上面所说的分离问题啊,那怎样才能去调用你自己写好的封装阿~~~    谢谢~~~

解决方案 »

  1.   

    听说好像ASP.NET有这么一说:“代码和页码分离”。不知道是什么意思,难道是ASP.NET代码写在一个文件里,而页码写在一个文件里吗?那代码的文件后缀名是什么啊?
    ++++++++++++++++++++
    "代码和页码分离",也就是所说的后置代码方式。就是把后台代码和前台代码分别写到一个单独的文件当中,后追分别为xxx.aspx.cs和xxx.aspx,并通过aspx文件中的类似以下的语句来关联:
    <%@ Page language="c#" Codebehind="xxx.aspx.cs" AutoEventWireup="false" Inherits="命名空间.xxx" %>我现在刚开始学,刚刚碰到个“封装”的问题,想问一下,封装是不是就是上面所说的分离问题啊
    ++++++++++++++++++++
    "封装"和后置代码是两个完全不同的概念。
      

  2.   

    我的理解:
    代码放在.aspx.cs(vb)的文件里,而html放在.aspx里.当然,你也可以写在一起,代码部分写在<script></script>里(初学时都是这样的,但我还是觉得分开好.你用VS.NET开发就一目了然了.
    至于封装,我的理解就是(不一定准确):转换类型,把一个类型转换成另一类型,与之对应的还有一个词我忘了叫啥了!就是再转换过来!
    不知道这么说你能不能理解,还得请高手们指教,我也再学学!:)
      

  3.   

    http://blog.csdn.net/hivon/category/113011.aspx
      

  4.   

    代码分离是HTML和你的程序控制文件分离
    不像ASP那样,所有的处理都在一个页面里
    .aspx包含着(用C#).cs文件或(用vb.net).vb文件
    这个.aspx与.cs 文件就是实现的分离
    两者不在一个页面,但是他们是成对出现的
    共同完成一个功能  向用户显示数据不知道这样说是不是明白封装不是所说的代码分离
    当你的ASPX文件写完以后
    你经过编译后,.CS文件就全部编译为.DLL文件,放入你写入的程序的BIN目录
    你在显示你所写的页面的时候,所运行的一些程序,比如datagrid的编辑,那些功能就是在DLL文件内实现的
    不像是ASP那样解释的
    调用的话
    你编译好的DLL文件的引用
    会出现在你所看到地ASPX文件的目录头上
    看一下ASPX页面的源码就会明白了这样说有一些明白了吗
      

  5.   

    有一点明白了,就是说后台文件的代码如果用c#写的话,后缀名就是".aspx.cs",要是用vb写的话,后缀名就是“.aspx.vb”了。
    那我的封装的代码是不是也写在上面的后台文件阿?那怎样去调用我的封装文件阿?
    guopeng_028(.NET转入LIVE中) 所说的“.aspx.cs”和“.aspx.vb”文件要通过编译变成".dll"文件,那怎样去调用这些".aspx.cs"和".aspx.vb"文件,这样才能变成“.dll”文件~
      

  6.   

    那位高手能给我看一下我怎样才能把这个页面编译成功~~~谢谢这是我的页面代码:
    <%@ Page Language="VB" ContentType="text/html" ResponseEncoding="gb2312" debug="true" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <%@ import namespace="system.data" %>
    <%@ import namespace="system.data.oledb" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    <script language="vb" runat="server">
    sub page_load(obj as object,e as eventargs)
    dim DSN as string,tSQL as string
    DSN = "provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("ASP.NET网页数据库.mdb") & ";"
    tSQL = "select * from UserDatas"
    ShowResultSet(DSN,tSQL)
    end sub
    </script>
    <!-- # include Virtual = "showresultset.inc" --></head>
    <body>
    </body>
    </html>这是我的封装的一个方法的代码:
    <script language="vb" runat="server">
    sub ShowResultSet(byval DSN as string,byval tSQL as string)
         dim lRet as boolean = true
    dim OBJConn as OleDBConnection = new OleDBConnection(DSN)
    OBJConn.open()
    dim OBJCmd as OleDBCommand = new OleDBCommand(tSQL,OBJConn)
    dim OBJReader as OleDBDataReader = OBJCmd.ExecuteReader()
    do until not lRet
    response.Write("<table border=1>")
    response.Write("<tr>")
    dim i as integer
    for i = 0 to OBJReader.fieldcount()-1
    response.Write("<td>" & OBJReader.getname(i) & "<td>")
    next
    response.Write("</tr>")
    do while OBJReader.read()
    response.Write("<tr>")
    for i = 0 to OBJReader.fieldcount()-1
    response.Write("<td>" & OBJReader.getvalue(i) & "</tr>")
    next
    response.Write("</tr>")
    loop
    response.Write("</table>")
    lRet = OBJReader.nextresult()
    loop
    end sub
    </script>请问封装的文件他的后缀名是不是".aspx.vb" 
    但我编译后就会提醒我,我自己写的方法"ShowResultSet()"未声明,这是怎么回事啊?
      

  7.   

    你现在问的问题已经牵涉到.NET的编绎原理.
      

  8.   

    嗯,同你大致上说一下操作过程,建个
    using System;
    using System.IO;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Xml;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Web.Security;
    using System.Data.SqlClient;
    using System.Configuration;
    using System.Text.RegularExpressions;namespace SiteManage
    {
         public class XXX : System.Web.UI.Page{
         你的代码
         }
    }
    再用MS提供的编译工具编译一下,C#是CSC,VB忘了,在CMD里运行一下就编译好了,把编译好的DLL放进网站根目录下的BIN目录,没有就自己建一个,流程就是这样.
    而页面代码调用就是第一句加上
    <%@ Page Language="VB" ContentType="text/html" Inherits="SiteManage.XXX" %>