[英]How to add custom properties to a custom webcontrol
我想向Web控件中添加自定義類型的屬性,例如GridView中的EditRowStyle,但是要以某種方式可以在ascx / aspx的“源”視圖中聲明該屬性的屬性。 顯然,GridView沒有像EditRowStyle-BackColor這樣的屬性,而只有EditRowStyle。 像這樣:
public class MyCustomGrid : GridView
{
[...]
private MyCustomSettings customSettings;
public MyCustomSettings CustomSettings
{
get { return customSettings; }
}
[...]
}
public class MyCustomSettings
{
private string cssClass = "default";
public string CssClass
{
get { return cssClass; }
set { cssClass = value; }
}
}
和網格十進制:
<c1:MyCustomGrid ID="grdCustom" runat="server" CustomSettings-CssClass="customcss" />
因為此解決方案不起作用。
public class MyCustomGrid : GridView
{
[...]
private MyCustomSettings customSettings;
[PersistenceMode(PersistenceMode.InnerProperty),DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public MyCustomSettings CustomSettings
{
get { return customSettings; }
}
[...]
}
[TypeConverter(typeof(MyCustomSettings))]
public class MyCustomSettings
{
private string cssClass = "default";
public string CssClass
{
get { return cssClass; }
set { cssClass = value; }
}
}
為什么您不能僅在MyCustomGrid中擁有該CssClass屬性? 然后它將起作用,並且可以通過標記中的CssClass屬性進行分配。 我只是將這些屬性一個接一個地添加到MyCustomGrid中,而不是將它們放在另一個類中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.