Web表单代码背后没有创建部分类,页面继承" ProjectName.ClassName"而不只是" ClassName"。 Visual Studio 2013

时间:2015-02-13 21:21:40

标签: asp.net inheritance webforms code-behind web-application-project

所以我试图做一个"关于"可以在我们使用的许多Web应用程序之间共享的页面。要做到这一点,我将保存" AboutBox.aspx"和" AboutBox.aspx.vb"我们的Web服务器上的文件。然后,从每个应用程序中,我将打开一个弹出窗口,该窗口将通过其URL调用AboutBox页面。我遇到的问题是在我创建了网页并将其复制到服务器后,当我尝试打开网页时,它给了我错误:

分析器错误消息:无法加载类型' DemoWebApp.AboutBox'。

Line 1:  <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AboutBox.aspx.vb" Inherits="DemoWebapp.AboutBox" %>

所以我假设它遇到了问题&#34;继承&#34;拥有项目名称&#34; DemoWebApp&#34;在班级名称前面。

此外,使用Web表单创建的代码隐藏文件具有&#34; Public Class AboutBox&#34;而不是我认为他们应该拥有的是&#34; Partial Class AboutBox&#34;

我试图摆脱&#34; DemoWebApp。&#34;从继承,并只是将代码更改为部分类而不是公共。这没用。

此外,其他人从较旧版本的Visual Studio创建了测试Web表单页面。此Web表单在继承中没有项目标题,并且具有部分类而不是公共类。此页面已复制到服务器并且运行正常。

我使用的是Visual Studio 2013,我不确定这个版本是否存在问题或其他问题。

当您向项目添加新的Web表单文件时,是否有任何方法可以按照我需要的方式创建文件?

编辑:

这是我的AboutBox.aspx代码:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AboutBox.aspx.vb" Inherits="TestAboutBox.AboutBox" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body style="height:238px; width:486px; background-color:green">
    <form id="form1" runat="server">
            <div style="width:154px; height:232px; float:left;">
                <asp:Image ID="LogoImage" runat="server" Height="232px" ImageAlign="Middle" Width="154px" ImageUrl="small.png"/>
            </div>
            <div style="width:326px; height:232px; float:right">
                <asp:Label ID="LabelProductName" runat="server" Text="Product Name" Font-Size="8.25pt" Font-Names="Microsoft Sans Serif" style="margin:5px"></asp:Label>
                <br />
                <asp:Label ID="LabelVersion" runat="server" Text="Version" Font-Size="8.25pt" Font-Names="Microsoft Sans Serif" style="margin:5px"></asp:Label>
                <br />
                <asp:Label ID="LabelCopyright" runat="server" Text="Copyright" Font-Size="8.25pt" Font-Names="Microsoft Sans Serif" style="margin:5px"></asp:Label>
                <br />
                <asp:Label ID="LabelCompanyName" runat="server" Text="Company Name" Font-Size="8.25pt" Font-Names="Microsoft Sans Serif" style="margin:5px"></asp:Label>
                <br />
                <asp:TextBox ID="TextBoxDescription" runat="server" Height="113px" Width="317px" Font-Size="8.25" Font-Names="Microsoft Sans Serif" TextMode="MultiLine" BackColor="#F0F0F0" style="margin:5px" ReadOnly="True">Description :</asp:TextBox>
                <input type="submit" name="OKButton" value="OK" onclick="window.close();" id="OKButton" style="height:21px;width:75px;float:right; margin:5px" />
            </div>
    </form>
</body>
</html>

Aaand这是我的AboutBox.aspx.vb文件:

Public Class AboutBox
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

End Class

注意:我以#34; TestAboutBox&#34;的名称重新制作了该项目。自从&#34; DemoWebApp&#34;我搞砸了所有搞砸的东西。

1 个答案:

答案 0 :(得分:0)

从Web应用程序项目创建新的Web窗体页面时,它将按照问题中的描述创建页面。为了使其正确,Web表单页面需要在Web站点项目中进行。然后可以在其他地方使用此页面。