2011-10-24 28 views
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> 

回答

1

啊哈哈....我已经定了!

所需要的功能之前申报的DataList于是成了公开可用的......至少我认为这是问题,现在它工作反正

Protected WithEvents showIt As System.Web.UI.WebControls.DataList 

现在我有其他的问题......这可以去另一个问题,但!

相关问题