不创建部分 Class、页面继承 "ProjectName.ClassName" 而不仅仅是 "ClassName" 的 Web 表单代码隐藏。 Visual Studio 2013
Web Form code behind not creating Partial Class, page inherits "ProjectName.ClassName" instead of just "ClassName". Visual Studio 2013
所以我正在尝试制作一个 "About" 页面,可以在我们使用的许多 Web 应用程序之间共享。为此,我将在我们的网络服务器上保存 "AboutBox.aspx" 和 "AboutBox.aspx.vb" 文件。然后,从每个应用程序中,我将打开一个 pop-up window,它将通过其 url 调用 AboutBox 页面。我遇到的问题是在创建页面并将其复制到服务器后,当我尝试打开页面时出现错误:
解析器错误消息:无法加载类型 'DemoWebApp.AboutBox'。
Line 1: <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AboutBox.aspx.vb" Inherits="DemoWebapp.AboutBox" %>
所以我假设 "Inherits" 在 class 名称前面有项目名称 "DemoWebApp" 有问题。
此外,使用网络表单创建的隐藏文件的代码具有 "Public Class AboutBox" 而不是我认为他们应该具有的 "Partial Class AboutBox"
我试过从继承中删除 "DemoWebApp.",并且只是将后面的代码更改为部分 class 而不是 public。这没有用。
此外,其他人从 Visual Studio 的旧版本创建了一个测试 Web 表单页面。此 Web 表单在继承中没有项目标题,并且有部分 class 而不是 public。此页面已复制到服务器并且运行良好。
我使用的是 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>
Aa 这是我的 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
注意:我 re-made 名为 "TestAboutBox" 的项目因为 "DemoWebApp" 被我搞得一团糟。
当您从 Web 应用程序项目创建新的 Web 窗体页面时,它将按照问题中的描述创建页面。为了以正确的方式获得它,需要在网站项目中制作 Web 表单页面。然后可以在其他地方使用此页面。
所以我正在尝试制作一个 "About" 页面,可以在我们使用的许多 Web 应用程序之间共享。为此,我将在我们的网络服务器上保存 "AboutBox.aspx" 和 "AboutBox.aspx.vb" 文件。然后,从每个应用程序中,我将打开一个 pop-up window,它将通过其 url 调用 AboutBox 页面。我遇到的问题是在创建页面并将其复制到服务器后,当我尝试打开页面时出现错误:
解析器错误消息:无法加载类型 'DemoWebApp.AboutBox'。
Line 1: <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="AboutBox.aspx.vb" Inherits="DemoWebapp.AboutBox" %>
所以我假设 "Inherits" 在 class 名称前面有项目名称 "DemoWebApp" 有问题。
此外,使用网络表单创建的隐藏文件的代码具有 "Public Class AboutBox" 而不是我认为他们应该具有的 "Partial Class AboutBox"
我试过从继承中删除 "DemoWebApp.",并且只是将后面的代码更改为部分 class 而不是 public。这没有用。
此外,其他人从 Visual Studio 的旧版本创建了一个测试 Web 表单页面。此 Web 表单在继承中没有项目标题,并且有部分 class 而不是 public。此页面已复制到服务器并且运行良好。
我使用的是 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>
Aa 这是我的 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
注意:我 re-made 名为 "TestAboutBox" 的项目因为 "DemoWebApp" 被我搞得一团糟。
当您从 Web 应用程序项目创建新的 Web 窗体页面时,它将按照问题中的描述创建页面。为了以正确的方式获得它,需要在网站项目中制作 Web 表单页面。然后可以在其他地方使用此页面。