簡體   English   中英

從自定義Web服務器控件的屬性窗口設置設計時屬性會掛起/崩潰Visual Studio 2010

[英]Setting a design-time property from the properties window of a custom web server control hangs/crashes Visual Studio 2010

就像我的標題所說,我有一個set property crash問題。

這是場景:

  1. 我創建了一個簡單的自定義ASP.Net服務器控件,該控件生成一些文本。
  2. 我想為該文本提供設計時屬性,以便開發人員可以從屬性窗口訪問其樣式。
  3. 除了我創建的類型為System.Web.UI.WebControls.Style的屬性外,屬性窗口中的所有屬性均正常工作。

這是我的財產:

[Bindable(true)]
[Category("Appearance")]
[Description("The style for the header")]
[Localizable(true)]
public Style HeaderTextStyle
{
  get
  {
    Style s = (Style)(ViewState["HeaderTextStyle"] == null ? Styles.defaultHeaderStyle : ViewState["HeaderTextStyle"]);
    return s;
  }

  set
  {
    ViewState["HeaderTextStyle"] = value;
  }
}

哦, Styles.defaultHeaderStyle只是內部類的一個屬性,它返回一個新的Style

讓我指出,掛起/崩潰僅在更改屬性時發生,因此它不能來自吸氣劑。

我不會粘貼渲染控件,因為即使不渲染任何內容也會發生錯誤。

是什么原因造成的?

謝謝。

我找到了解決我問題的方法。

您會看到, Style類是一個具有子屬性的屬性,稱為復雜屬性 復雜屬性 (具有子屬性的屬性) 需要自定義狀態管理才能使用view state Style類需要設計時屬性,以在控件的標簽中實現持久性。 因此,我在原始帖子中寫的內容將無效。

有關完整的說明,請訪問: MSDN中的服務器控件屬性示例

我設法用那個例子來實現它。 我希望這對其他人有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM