我正在创建一个包含ListView
的UserControl
。我声明如下,我已经尝试了其他方法ParseChildren
和PersistChildren
属性。
[AspNetHostingPermission(SecurityAction.InheritanceDemand,
Level=AspNetHostingPermissionLevel.Minimal),
AspNetHostingPermission(SecurityAction.Demand,
Level = AspNetHostingPermissionLevel.Minimal),
Designer(typeof(ListViewItem)),
ParseChildren(false), PersistChildren(false)]
public partial class CustomListView : System.Web.UI.UserControl, IPaneControl, INamingContainer
{
在里面,我有以下代码来设置ListView
的ItemTemplace
[Browsable(false),
DefaultValue(null),
PersistenceMode(PersistenceMode.InnerProperty),
TemplateContainer(typeof(ListViewDataItem), BindingDirection.TwoWay)]
public virtual ITemplate ItemTemplate
{
get { return _lvChild.ItemTemplate; }
set { _lvChild.ItemTemplate = value; }
}
现在,在该控件的使用者的模板中,我将使用
<ItemTemplate><asp:HiddenField runat="server" ID="ShippingAddressID" Value='<%#Eval("AddressID") %>' /></ItemTemplate>
在Visual Studio 2008中,这导致设计器文件不会自动生成HiddenField
ShippingAddressID,但是在转到Visual Studio 2010时,它会自动生成。如何阻止它在 2010 年自动生成它?
如果你不需要在代码隐藏中的任何位置引用它,你不能删除"runat=server"吗?