2010-03-18 57 views
1

这是我第一次做VB :-)我已经继承了一个网站,我已经在VS2008中转换成一个Web应用程序。除了Gallery控件以外,转换适用于所有内容。VB - 将网站转换为Web应用程序

我得到的编译错误是:

类型 '画廊' 没有在文件中定义: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。

干杯!

+0

问:是否将Web站点项目转换为Web应用程序项目?如果是这样,为什么?我发现网站项目更容易,更灵活。 Web应用程序项目适用于向IIS网站或Web站点项目添加常规功能。 – AMissico 2010-03-23 19:28:58

回答

0

好像图库的代码不被人发现的,这意味着它要么没有得到建立,或有一个命名空间,是不是你在期待什么。

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

其他检查事项:

  • 没有你的项目有任何全局命名空间或DLL设置,可能会改变的东西呢?
  • 您确定控件的构建操作是正确的吗? (即确保它不被忽略,或作为内容包含)
+0

问题的顶部附近张贴了gallery_oct07.aspx代码,非常感谢..您的回答让我感到了sln。我删除了.designer文件,并将其更改为CodeFile ..稍后将发布sln。对所有人。打破领骨2天前山比基尼。 1 haded打字艰难:-) – 2010-03-27 02:32:19

0

请先尝试从Global.Gallery更改为Global.WebApplication1.Gallery

+0

谢谢..但没有喜悦......现在编译错误:输入'Webapplication1.Gallery'未定义 – 2010-03-18 04:06:46

+0

你能发布'gallery_oct07.aspx'的第一行吗?因为我认为它可能缺少一些'<%@ Register ...%>'指令。 – 2010-03-18 09:53:13

+0

非常感谢Paulo的帮助..这感觉就像一个非常简单的问题!我已经在 – 2010-03-18 19:46:04

0

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

0

更换

Protected WithEvents Gallery1 As Global.Gallery 

随着

Protected WithEvents Gallery1 As Gallery 
相关问题