【发布时间】:2010-03-18 02:36:05
【问题描述】:
这是我第一次做 VB :-) 我继承了一个网站,并在 VS2008 中将其转换为一个 Web 应用程序。除了 Gallery 控件之外,转换对所有内容都有效。
我得到的编译错误是:
类型“画廊”未在文件中定义:gallery_oct07.aspx.designer.vb
Option Strict On
Option Explicit On
Partial Public Class gallery_oct07
'''<summary>
'''Gallery1 control.
'''</summary>
'''<remarks>
'''Auto-generated field.
'''To modify move field declaration from designer file to code-behind file.
'''</remarks>
Protected WithEvents Gallery1 As Global.Gallery
End Class
在 Global.Gallery 下带有波浪线。
gallery_oct07.aspx.vb 是:
Partial Class gallery_oct07
Inherits System.Web.UI.Page
End Class
还有 gallery_oct07.aspx 文件:
<%@ page language="VB" masterpagefile="~/MasterPage.master" autoeventwireup="false" inherits="WebApplication1.gallery_oct07" title="2007 Trip Photos" Codebehind="~/gallery_oct07.aspx.vb" %>
<%@ Register Src="Gallery.ascx" TagName="Gallery" TagPrefix="uc1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<script language="javascript" type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script language="javascript" type="text/javascript" src="js/thickbox.js"></script>
<p class="title">
Koru Care Christchurch Charitable Trust</p>
<img src="images/green_space.gif" />
<p class="title">
Trip Photos</p>
<p class="subTitle">
Los Angeles 2007</p>
<p class="text">
Click for larger Image</p>
<uc1:Gallery ID="Gallery1" runat="server" ImageFolder="images/oct2007/" />
</asp:Content>
Gallery.ascx 是:
<%@ Control Language="C#" AutoEventWireup="true" Codebehind="Gallery.ascx.cs" Inherits="WebApplication1.Gallery"%>
<asp:Repeater runat="server" ID="rptGallery">
<HeaderTemplate>
<ul class='<%#CssClass%>'>
</HeaderTemplate>
<ItemTemplate>
<li><a href='<%#ImageFolder + Eval("Name") %>' class="thickbox" rel="gallery"><img src='<%#ImageFolder + "thumb/" + Eval("Name") %>' /></a></li>
</ItemTemplate>
<FooterTemplate>
</ul></FooterTemplate>
</asp:Repeater>
后面的代码是:
using System;
using System.IO;
namespace WebApplication1
{
public partial class Gallery : System.Web.UI.UserControl
{
public string _ImageFolder;
public string ImageFolder
{
get
{
return _ImageFolder;
}
set
{
_ImageFolder = value;
}
}
private string _cssClass = "gallery";
public string CssClass
{
get
{
return _cssClass;
}
set
{
_cssClass = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
DirectoryInfo dir = new DirectoryInfo(MapPath(ImageFolder));
FileInfo[] images = dir.GetFiles("*.jpg");
rptGallery.DataSource = images;
rptGallery.DataBind();
}
protected void Page_PreRender(object sender, EventArgs e)
{
}
}
}
感觉像是命名空间问题。我的项目命名空间是 WebApplication1。
干杯!
【问题讨论】:
-
问题:您是否将网站项目转换为 Web 应用程序项目?如果是这样,为什么?我发现网站项目更容易、更灵活。 Web 应用程序项目非常适合向 IIS 网站或网站项目添加一般功能。
标签: vb.net