【问题标题】:VB - Convert Web Site to Web ApplicationVB - 将网站转换为 Web 应用程序
【发布时间】: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


【解决方案1】:

似乎未找到库的代码,这意味着它要么未构建,要么具有不符合您期望的命名空间。

下载reflector,打开DLL,看看你是否能找出控件所在的位置,命名空间明智。

其他需要检查的事项:

  • 您的项目是否有任何可能改变事物的全局命名空间或 DLL 设置?
  • 您确定控件的构建操作是正确的吗? (即确保它没有被忽略或包含在内容中)

【讨论】:

  • 非常感谢.. 你的回答把我带到了 sln。我删除了 .designer 文件并更改为 CodeFile .. 稍后将发布一个 sln。谢谢大家。 2 天前山地自行车摔断了锁骨。 1 haded 打字很艰难 :-)
【解决方案2】:

首先尝试简单地将Global.Gallery更改为Global.WebApplication1.Gallery

【讨论】:

  • 谢谢..但不高兴...现在编译错误:未定义类型'Webapplication1.Gallery'
  • 可以发gallery_oct07.aspx的第一行吗?因为我认为它可能缺少一些&lt;%@ Register ... %&gt; 指令。
  • 非常感谢 Paulo 的帮助......这感觉就像一个非常简单的问题!!!我已经在问题顶部附近发布了 gallery_oct07.aspx 代码
【解决方案3】:

打开“对象浏览器”,将“对象浏览器设置”更改为“查看容器”,然后浏览项目的命名空间。这应该可以帮助您解决问题。

【讨论】:

    【解决方案4】:

    替换

    Protected WithEvents Gallery1 As Global.Gallery
    

    Protected WithEvents Gallery1 As Gallery
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-26
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-18
      • 2017-05-10
      • 2014-12-31
      相关资源
      最近更新 更多