【发布时间】:2013-03-28 23:53:22
【问题描述】:
我在类库中的 c# 中创建了一个类,并且我已将此控件添加到 default.aspx,但我的代码不会触发 page_load 事件。代码如下:
我做错了什么?
页面加载但未在页面上显示标签。我已将控件正确添加到页面,没有任何错误。我已经在其中添加了注册标签。
html标签:<RandoIntegerControls:RandomIntegerControl ID="RandomIntegerControl1" runat="server"></RandoIntegerControls:RandomIntegerControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;
namespace CSIMedia.WebControls
{
public class RandomIntegerControl : PlaceHolder
{
private Label _Label;
public RandomIntegerControl()
{
}
private void Page_Load(Object sender, EventArgs e)
{
this._Label = new Label();
this.Controls.Add(this._Label);
this._Label.Text = "Enter random values:";
}
}
}
Default.aspx 页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register TagPrefix="RandoIntegerControls" Assembly="CSIMedia.WebControls" Namespace="CSIMedia.WebControls"%>
<!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></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<RandoIntegerControls:RandomIntegerControl ID="RandomIntegerControl1" runat="server"></RandoIntegerControls:RandomIntegerControl>
</div>
</form>
</body>
</html>
【问题讨论】:
-
您是否将自定义控件的 .ascx 文件包含在使用它的 aspx 文件中?
-
不,我删除了它。我没有创建任何 ascx 文件。我已将此类创建为 class.cs 文件,并将此控件类添加到页面中。但我已经添加了 default.aspx 页面,但我仍然没有运气。
-
你能显示你在页面中添加控件的代码吗?
-
我复制并粘贴了代码,但它不允许我添加 html,或者我可以这样做,只是添加了一些我不知道为什么的 html?
-
尝试使用代码示例图标 { } 添加代码。