У меня тут немного странная проблема. Я создал собственный элемент управления как таковой:
public class Textbox : System.Web.WebControls.Placeholder
{
if( [certain criteria are met])
this.Controls.Add(new System.Web.WebControls.Textbox());
}
При работе в режиме конструктора Visual Studio я всегда добавляю на страницу одно из своих текстовых полей:
<myControls:Textbox id="txtTest" runat="server" />
Visual studio имеет привычку изменять мою разметку следующим образом:
<myControls:Textbox id="txtTest" runat="server" >
<asp:Textbox runat="server" />
</myControls:Textbox>
Это изменяет окончательную разметку вывода так, что появляются два текстовых поля. Есть ли способ помешать визуальной студии сделать это?
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>