我正在使用ASP.Net Web应用程序项目。我有一个用户控件,里面有一个asp.net按钮。当我在页面上使用该用户控件时,该按钮不会出现,但如果我将该按钮直接放在页面上,则按钮显示出来。任何想法是什么问题?ASP.Net控件显示在页面上,但不显示在该页面上的用户控件中
此外,该用户控件内,我可以重写Render方法并传递给渲染方法工作的考验,但我仍然没有得到
装配在web.config中注册的按钮
编辑:Dave的文章后,我发现任何东西放在.ascx文件无法正常工作,同时覆盖用户控件的绘制方法的工作
页
<%@ Page Title="Home" Language="C#" MasterPageFile="~/Master.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Site.Default" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div>
<uc:SomeCustomControl ID="myControl" runat="server" />
<asp:Button runat="server" Text="outControl" />
</div>
</asp:Content>
控制.ascx文件
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TestControl.ascx.cs" Inherits="Site.Controls.TestControl" %>
<asp:Button runat="server" Text="InControl" /><!--cant see this button-->
<p>I can't see this</p><!--cant see this text-->
的代码背后.ascx文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Site.Controls
{
public partial class TestControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void Render(HtmlTextWriter writer)
{
writer.Write("I can see this");
base.Render(writer);
}
}
}
和页面源
I can see this
<input type="submit" name="ctl00$ContentPlaceHolder1$Button1" value="outControl" id="ctl00_ContentPlaceHolder1_Button1" />
你能发布一些示例代码吗? – cjk 2009-02-24 19:33:03