【发布时间】:2010-09-16 08:15:11
【问题描述】:
我正在尝试创建一个继承自 ASP.Net 的内置日历用户控件的自定义日历控件。
我的控件的代码隐藏文件如下所示:
public partial class WeeklyEventsCalendar : Calendar
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
并且编译良好。
但是,当我尝试将自定义控件放在 aspx 页面上时:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testbed.aspx.cs" Inherits="testbed" %>
<%@ Register Src="UserControls/WeeklyEventsCalendar.ascx" TagName="WeeklyEventsCalendar"
TagPrefix="mvs" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Untitled Page</title>
<link href="~/css/VitalSignsStyleSheet.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div>
<mvs:WeeklyEventsCalendar runat="server" />
</div>
</body>
</html>
我收到警告 '元素 WeeklyEventsCalendar 不是已知元素。如果网站中存在编译错误,或者 web.config 文件丢失,则可能会发生这种情况。' 正在尝试
我没有收到任何类型的“找不到文件”错误,就像我过去在错误键入文件位置时遇到的那样。
当我尝试在浏览器中加载 aspx 页面时,我收到错误 CS0115: 'ASP.usercontrols_weeklyeventscalendar_ascx.FrameworkInitialize()': no suitable method found to override
这更令人困惑,因为我没有在我的代码中尝试定义这样的函数。
这应该很简单。我哪里错了?
【问题讨论】:
-
去掉Page_Load方法会发生什么?
-
完全一样。好建议!
标签: c# asp.net inheritance user-controls