1
我是.NET编程的全新手,并试图让一些东西脱颖而出。使用代码隐藏时未声明Datalist名称。 aspx.vb
我已经运行了一些代码,它从数据库中提取数据并将其呈现到Datalist中。它工作正常时,脚本是在aspx文件,但是当我把它转移到后面的代码我得到以下错误
Compiler Error Message: BC30451: Name 'showIt' is not declared.
(showIt是DataList控件的ID)
显然,在DataList标记位于我的aspx页面,脚本位于.vb文件后面的代码中。
正如我所说,当脚本都在一个.aspx文件上时,它都可以工作。
代码后面的代码是:(我已经跳过了SQL和连接字符串,以保持这个帖子简明扼要)
Partial Public Class Data
Inherits System.Web.UI.Page
Sub Page_Load(sender As Object, e As EventArgs)
Dim objDataReader As OdbcDataReader
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
showIt.DataSource = objDataReader
showIt.DataBind()
objDataReader.Close()
end sub
end class
ASPX文件看起来是这样的:(再次简化,基本的HTML标记等删除)
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="dataOut.aspx.vb" Inherits="_Default"%>
<form id="form1" runat="server">
<asp:DataList ID="showIt" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
<ItemTemplate>
<div style="width:300px; display:inline-block; height: 200px; overflow:hidden">
<div style="width:100%; background:#880000; border-bottom: solid 1px black"><%# DataBinder.Eval(Container.DataItem, "item") %></div>
<br />
<%# Data.stockDisplay(Eval("shopstock"))%>
<div style="clear: both"><%# Left(DataBinder.Eval(Container.DataItem, "description"),150) %></div>
</div>
</ItemTemplate>