我正在使用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