因为刚开始接触asp.net 感觉asp.net比编winform程序要复杂些,因为
语法中总是html语言和vb.net语言等混杂在一起,不好理解程序的执行顺序.
请帮我看看下面一个简单的代码,哪些地方有问题啊..<%@ page language="vb" %>
<%@ import namespace ="System.data" %>    
    <html>  
    <head>
    <Script language="vb" runat="server">
    sub page_load(byval sender as object,byval e as eventargs)        
            Dim table1 As DataTable
            Dim row1 As DataRow
            Dim i As Integer
            table1 = new datatable
            table1.Columns.Add("name", GetType(String))
            For i = 0 To 8
                row1 = table1.NewRow()
                row1.Item(0) = "行" & i.ToString
                table1.Rows.Add(row1)
            Next
            DataList1.DataSource = table1.DefaultView
            DataList1.DataBind()
        
     </Script>
    </head>
   
  <body>
      <form id="form1" runat="server">
      <asp:Datalist id="datalist1" runat="server">
         <itemtemplate>
            <%# databinder.eval(container.dataitem,"name") %>
         </itemtemplate>
      </asp:Datalist>
       </form>
       </body>
    </html>
              

解决方案 »

  1.   

    table1.Columns.Add("name", GetType(String))
    我的数据表有一列啊我这个如果写在vs.net的项目里,也就是页面和代码分离的话,执行可以正确显示
    可是我把代码拷贝出来,放在页面里面,形成一个单aspx文件,调试就出很多问题
    先是说我的datalist1没有声明?反正是script脚本里有问题,我觉得script是最后执行的把
    我后面不是写了<asp:datalist id="datalist1">,已经说了datalist1是一个
    datalist控件吗?怎么还是说没有声明呢?
      

  2.   

    那你就在<script>里定义一下DataList
    protected DataList datalist1;
      

  3.   

    好像不行
    哪位能帮我改改后保存为aspx文件后在浏览器能正常运行即可啊?
      

  4.   

    <%@ page language="vb" %>
    <%@ import namespace ="System.data" %>    
        <html>  
        <head>
        <Script language="vb" runat="server">
        sub page_load(byval sender as object,byval e as eventargs)        
                Dim table1 As DataTable
                Dim row1 As DataRow
                Dim i As Integer
                table1 = new datatable
                table1.Columns.Add("name", GetType(String))
                For i = 0 To 8
                    row1 = table1.NewRow()
                    row1.Item(0) = "行" & i.ToString
                    table1.Rows.Add(row1)
                Next
                DataList1.DataSource = table1.DefaultView
                DataList1.DataBind()
          end sub  //我帮你加上后,没有问题了,不知道你还有什么问题??
         </Script>
        </head>
       
      <body>
          <form id="form1" runat="server">
          <asp:Datalist id="datalist1" runat="server">
             <itemtemplate>
                <%# databinder.eval(container.dataitem,"name") %>
             </itemtemplate>
          </asp:Datalist>
           </form>
           </body>
        </html>
      

  5.   

    晕哦~~
    没有检查机制就是发现不了这么简单的问题...
    还想问问现在.net的事件都是委托的,
    可是上面写在script里面的
    sub page_load(byval sender as object,byval e as eventargs) 
    程序怎么知道在页面加载的时候执行page_load过程啊?
    还是这是一个固定的过程名称,不能随意改动?
      

  6.   

    page_load 是个固定的过程名称,名字不能随意改动,在页面加载的时候会首先执行