编译错误消息CS1061,但我已经定义了我的事件处理程序ASP.net/C#

本文关键字:事件处理 我的 程序 ASP net 定义 CS1061 消息 错误 编译 | 更新日期: 2023-09-27 18:02:05

所以这个错误是来自试图解决另一个问题,我与Telerik RadGrid,但我觉得这个问题只是由于我从来没有真正写了一个完整的c#程序之前,我拿起别人的代码。我意识到大约有100人已经发布了同样的问题,但这些解决方案都没有帮助。我已经部署了我的dll,手动重新生成了设计器文件,重新命名了事件处理,检查了它不在任何地方重复,我不知道还能做什么。

我的ascx文件的顶部:

<%@ Control Language="C#" AutoEventWireup="True" CodeBehind="blahblah.ascx.cs"
    Inherits="blah.blahh.blahblah" %>
<%@ Register Assembly="Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4"
    Namespace="Telerik.Web.UI" TagPrefix="telerik" %>

我试图处理的事件是OnNeedDataSource用于Telerik RadGrid排序和分页。下面是我的几段代码ascx文件:

<telerik:RadGrid HeaderStyle-BackColor="#1C5E55" AllowAutomaticInserts="false"
     AllowAutomaticUpdates="false" AllowAutomaticDeletes="false" OnDeleteCommand="rgCanonicalRelationships_DeleteCommand"
     CommandItemStyle-CssClass="ms-stylelabel" AutoGenerateColumns="false" runat="server" OnNeedDataSource="rgCanonicalRelationships_NeedDataSource"
     Skin="Web20" CommandItemStyle-Font-Names="tahoma" CommandItemStyle-Font-Size="XX-Small" AllowSorting="true">
     <MasterTableView AllowAutomaticInserts="false" AllowAutomaticUpdates="false" AllowAutomaticDeletes="false"
          BorderStyle="Solid" BorderWidth="1px" HeaderStyle-BackColor="#1C5E55" ItemStyle-BackColor="LightGray"
          CommandItemDisplay="None">
     </MasterTableView>
</telerik:RadGrid>

,这里是代码后面正确链接的

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Telerik.Web.UI;
using System.Collections;
using System.Web.Services;
using Telerik.WebControls;
namespace blah.blahh
{
    public partial class blahblah :
    {      

与我的函数定义:

protected void rgCanonicalRelationships_NeedDataSource(object sender, EventArgs e)
{
    BuildCanonicalRelationshipsTable();
}

我试图避免张贴我所有的代码,所以如果你需要看到更多让我知道。我已经为此挣扎了一段时间了,我觉得有些事情我应该做,但却没有做使用这个OnNeedDataSource事件是建议的方法来解决让我的网格在排序时消失,只在重新绑定网格时重新出现的问题

编辑:对不起,我忘记了错误信息,因为我看到它太多了:

描述:在编译服务此请求所需的资源期间发生错误。请查看以下具体的错误细节,并适当地修改源代码。

编译器错误信息:CS1061: 'ASP. net '。blah_blahh_blahblah_ascx'不包含'rgCanonicalRelationships_NeedDataSource'的定义,也没有扩展方法'rgCanonicalRelationships_NeedDataSource'接受类型为'ASP '的第一个参数。可以找到Blah_blahh_blahblah_ascx '(您是否缺少using指令或程序集引用?)

源错误:

Line 113:    <tr class="ms-stylelabel">
Line 114:        <td colspan="2">
Line 115:            <telerik:RadGrid HeaderStyle-BackColor="#1C5E55" AllowAutomaticInserts="false"
Line 116:                AllowAutomaticUpdates="false" AllowAutomaticDeletes="false" OnDeleteCommand="rgCanonicalRelationships_DeleteCommand"
Line 117:                CommandItemStyle-CssClass="ms-stylelabel" AutoGenerateColumns="false" runat="server" OnNeedDataSource="rgCanonicalRelationships_NeedDataSource"

源文件:c:'Inetpub'wwwroot'wss'VirtualDirectories'3718'blah'blahh'blahblah。ascx Line: 115

编译错误消息CS1061,但我已经定义了我的事件处理程序ASP.net/C#

清空你的临时ASP网络文件

链接中推荐的方法对我来说似乎有点不靠谱。我更喜欢下面的批处理脚本。请注意,此脚本必须在Windows Vista/7下以管理员身份运行。

REM del deletes all of the files in the root of the given directory
REM for...rmdir removes all of the subdirectories (and any files inside them) underneath the given directory
iisreset /stop
del /F /Q "%WINDIR%'Microsoft.Net'Framework'v1.1.4322'Temporary ASP.NET Files'*"
for /d %%i in ("%WINDIR%'Microsoft.Net'Framework'v1.1.4322'Temporary ASP.NET Files'*") do rmdir /q /s "%%i"
del /F /Q "%WINDIR%'Microsoft.Net'Framework'v2.0.50727'Temporary ASP.NET Files'*"
for /d %%i in ("%WINDIR%'Microsoft.Net'Framework'v2.0.50727'Temporary ASP.NET Files'*") do rmdir /q /s "%%i"
del /F /Q "%WINDIR%'Microsoft.Net'Framework'v4.0.30319'Temporary ASP.NET Files'*"
for /d %%i in ("%WINDIR%'Microsoft.Net'Framework'v4.0.30319'Temporary ASP.NET Files'*") do rmdir /q /s "%%i"
iisreset /start

Update # 1

如果清除您的临时ASP。. NET文件不能解决问题,我建议创建一个新的UserControl并从旧的UserControl复制标记和代码隐藏(不包括标记中的CodeBehindInherits声明和代码隐藏文件的类名)。如果标记文件/代码隐藏文件/代码隐藏类的名称未同步,则会发生CS1061错误,而创建新的UserControl是确保不会发生这种情况的最简单方法。

正如我所期望的那样,由于我在ASP和我正在工作的软件和环境方面缺乏经验,我只是编译错误,因此一切都变得一团糟,即使有些东西正在工作,所以看起来还好。