你如何摆脱aspx.designer.cs?

时间:2011-11-16 20:00:56

标签: asp.net visual-studio-2010

这比应该更困难。我重新创建了一个全新的网站项目,创建了一个全新的Web表单副本并将代码粘贴到文本文件中,然后将代码粘贴到全新的webform中,我收到一条错误消息:

“无法加载类型'GenPrefixList'”

代码:

<%@ Page Title="Generate Prefixes" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="GenPrefixList.aspx.cs" Inherits="GenPrefixList" %>

然后我摆脱了Inherits =“GenPrefixList”然后我收到一条错误消息:

'ASP.pages_genprefixlist_aspx'不包含'PrefixID_SelectedIndexChanged'的定义,并且没有可以找到接受类型'ASP.pages_genprefixlist_aspx'的第一个参数的扩展方法'PrefixID_SelectedIndexChanged'(您是否缺少using指令或程序集引用? )

'PrefixID_SelectedIndexChanged'已经在代码隐藏中,但是aspx看不到它....

我甚至比较了我的其他页面,这些页面在设计上没有得到aspx.designer.cs文件且代码格式相同。我也无法在网站项目中添加aspx.designer.cs。

这完全是荒谬的,我不知道如何从头开始重新创建所有内容,不知何故代码仍然引用了aspx.designer.cs。这是以某种方式仍然引用aspx.designer.cs的代码:

   <div style="text-align:Left;float:right; width:56.5%; display:inline-block;">
        <asp:DropDownList ID="PrefixID" runat="server" AutoPostBack="true" 
                ToolTip="Select Prefix" onselectedindexchanged="PrefixID_SelectedIndexChanged">
                <%--<asp:ListItem Text="Select..."></asp:ListItem>--%>
                </asp:DropDownList>
        <asp:Label ID="lblRqdPrefix" runat="server" Text="required" CssClass="noshow" ></asp:Label>
        </div>

2 个答案:

答案 0 :(得分:2)

你无法摆脱Inherits,你不应该摆脱designer.cs文件。您只需要确保所有内容都已正确映射。

GenPrefixList.aspx

<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="GenPrefixList.aspx.cs" Inherits="<Namespace>.GenPrefixList" %>

GenPrefixList.aspx.cs:

namespace <Namespace> //if applicable
{
    public partial class GenPrefixList : System.Web.UI.Page { ...

GenPrefixList.aspx.designer.cs:

namespace <Namespace> //if applicable
{
    public partial class GenPrefixList { ...

答案 1 :(得分:0)

你不能摆脱 Inherits="GenPrefixList",它告诉绑定的类到ascx文件,在那里它可以找到PrefixID_SelectedIndexChanged方法。您的代码是否类似于public partial class GenPrefixList : System.Web.UI.Page?这应该是这样的。我的猜测可能是一些复制/粘贴错误。