我已經創建了具有單一的ContentTemplate其中我裝飾用[模板實例(TemplateInstance.Single)]屬性的ITemplate屬性自定義控制使所有內部控件直接可用,而無需使用FindControl來訪問它們。錯誤與屬性[模板實例(TemplateInstance.Single)]內的FormView
但是,如果我用我的控制在Formviews InsertTemplate則和EditItemTemplate中根據以下...
<asp:FormView runat="server" ID="formView">
<InsertItemTemplate>
<my:Control runat="server" ID="myControl">
<ContentTemplate>
<asp:TextBox runat="server" ID="textBox" />
</ContentTemplate>
</my:Control>
</InsertItemTemplate>
<EditItemTemplate>
<my:Control runat="server" ID="myControl">
<ContentTemplate>
<asp:TextBox runat="server" ID="textBox" />
</ContentTemplate>
</my:Control>
</EditItemTemplate>
</asp:FormView>
...我得到一個錯誤信息,因爲兩個文本框(或任何其他控件)內我的ContentTemplate具有相同的ID:
「類XXX已經包含了一個定義的textBox」
我覺得這已經因爲InsertTemplate則和FormView控件的EditItemTemplate中RY怪都沒有提到的屬性,這樣裏面所有的控制應該得到作用域爲他們的模板裝飾。這也是上述樣品中的ID顯示「myControl」,即沒有給出衝突真的......
沒有人有任何想法如何解決這個問題?在模板秒,但我想它的工作因爲是因爲它是如此普遍,這裏面FormView控件模板控件具有相同的ID:現在我可以用不同的ID秒。
我的同事發現這個bug報告是同樣的問題,只有模板控件是一個UpdatePanel:https://connect.microsoft.com/VisualStudio/feedback/details/373771/updatepanel-in-formview-name-conflict-編譯錯誤 –