私はここで少し奇妙な問題があります。Visual Studioで子コントロールを追加できないようにする
<myControls:Textbox id="txtTest" runat="server" />
Visual Studioは私のマークアップを変更する習慣を持っています
public class Textbox : System.Web.WebControls.Placeholder
{
if([certain criteria are met])
this.Controls.Add(new System.Web.WebControls.Textbox());
}
のVisual Studioのデザイナーモードで作業し、いつでも私はページへの私のテキストボックスの1を追加します。私は、次のようなカスタムコントロールを作成しました
<myControls:Textbox id="txtTest" runat="server" >
<asp:Textbox runat="server" />
</myControls:Textbox>
これにより、最終出力マークアップが変更され、2つのテキストボックスが表示されます。ビジュアルスタジオがこれをやらないようにする方法はありますか?
EDIT:要求ごととして 、こちらのページのマークアップ
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="TestApp.Test" %>
<%@ Register Assembly="MyControls.WebControls" Namespace="MyControls.WebControls" TagPrefix="myControls" %>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<table>
<tr>
<td>
<asp:Label ID="lblTest" runat="server">Test Label:</asp:Label>
<myControls:TextBox ID="txtTest" runat="server" Width="80px"></myControls:TextBox>
</td>
</tr>
</table>
</asp:Content>
おそらくユーザーコントロールに問題があります。 – Icarus
私はそうは思わない、VSは、ページをコンパイルして、テキストボックスが追加されるので、それを追加しますが、texboxが追加されないように条件が発生する可能性があると判断しています。 – mrK
あなたのユーザコントロールのマークアップを投稿する – Icarus