- - PR -
Webカスタムコントロールで追加したプロパティに値を指定するとデザイン時にUIが表示されない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-11-25 17:51
クラスライブラリにSystem.Web.UI.WebControls.TextBoxを継承したカスタムコントロール(TextBoxHoge)を作成しています。
その後、WebSiteでTextBoxHogeのアセンブリを参照し、Default.aspxにTextBoxHogeを配置して、TextBoxHogeに拡張したMogeプロパティに値をセットしています。 値セット後にデザインを開くと「コントロールの作成エラー - TextBoxHoge1 '設定値' をプロパティ 'Moge' で設定できませんでした。」と表示されます。 以下は記載したコードです。 ーーーーー■TextBoxHogeーーーーー Imports System.ComponentModel Imports System.Reflection Imports System.Web.UI <DefaultProperty("Text"), ToolboxData("<{0}:TextBoxHoge runat=server></{0}:TextBoxHoge>")> _ Public Class TextBoxHoge Inherits System.Web.UI.WebControls.TextBox <Browsable(True)> _ Public Property Moge() As String Get Dim s As String = CStr(ViewState("Moge")) If s Is Nothing Then Return String.Empty Else Return s End If End Get Set(ByVal value As String) ViewState("Moge") = value End Set End Property End Class ーーーーーーーーーーーーーーーーー ーーーーー■Default.aspxーーーーー <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <%@ Register Assembly="hoge" Namespace="hoge" TagPrefix="cc1" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>無題のページ</title> </head> <body> <form id="form1" runat="server"> <div> <cc1:TextBoxHoge ID="TextBoxHoge1" runat="server" Moge="aiueo"></cc1:TextBoxHoge> </div> </form> </body> </html> ーーーーーーーーーーーーーーーーー 拡張したプロパティに値をセットした状態でデザインにて正しく表示させるにはどのようにすればいいのでしょうか? よろしくお願い致します。 |
|
投稿日時: 2008-11-25 17:53
自己レスです。
補足です。 以下の開発環境で行っています。 WinXP SP3 VB2005 |
1