1

我正在创建一个UserControl包含一个ListView. 我声明如下,我尝试了其他使用ParseChildrenandPersistChildren属性的方法。

[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
{

在里面我有以下代码来ItemTemplace设置ListView

[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 中,这导致设计器文件不会自动生成HiddenFieldShippingAddressID,但在转到 Visual Studio 2010 时会自动生成。我怎样才能阻止它在 2010 年自动生成它?

4

1 回答 1

0

如果您不需要在代码隐藏的任何地方引用它,您就不能删除“runat = server”吗?

于 2012-11-27T19:13:08.520 回答