0

このように定義されたユーザーコントロールがあります

<%@ Control .....

<Test:MyCustomControl id="xxx" runat="server>
</Test:MyCustomControl>

このコントロールを次のようなページで使用したいと思います

<Tag:MyControl runat="server">
  <div>
    my html
  </div>
</Tag...

カスタム コントロールのコード ビハインドで、内部の html を読み取り、それを Test:MyCustomcontrol のプロパティに設定したいと考えています。

現在、「... プロパティ div がありません」というエラーが表示されます。

これどうやってするの?

注: 明確にするために、内側の html は任意の html にすることができるため、ユーザーがページに入力したものを読み取る方法が必要です。

4

2 に答える 2

0

誰かが別の解決策を必要とする場合に備えて、他の質問を開いたままにします。

あなたの要求についてはよくわかりませんが、ここに2つの解決策があります。これがあなたが望むものであることを願っています:

コントロールを追加する1つ(テキストボックスだけでなく、任意の方法で追加できます)と、説明したとおりの他の純粋なhtml

TextBox txtAdd = new TextBox();
txtAdd.Style.Add("width", "200px");
WebUserControl11.Controls.Add(txtAdd);

TextBox txtRead = (TextBox)WebUserControl11.Controls[1];

((System.Web.UI.HtmlControls.HtmlGenericControl)WebUserControl11.Controls[0]).InnerHtml = "<b>something</b>";
string currentHtml = ((System.Web.UI.HtmlControls.HtmlGenericControl)WebUserControl11.Controls[0]).InnerHtml;

もちろん、インデックスは、ユーザー コントロールにある要素の数に応じて変化します。

于 2012-09-22T01:54:44.513 に答える
0

UserControl のプロパティとして div (サーバー上で実行中) を公開できます

ユーザーコントロールhtmlで:

<div id="dvSomething" runat="server"></div>

「.csファイル」のユーザーコントロールコードビハインド:

public System.Web.UI.HtmlControls.HtmlGenericControl TheDiv 
{
    get
    {
        return dvSomething;
    }
    set {
        dvSomething = value;
    }
}

ユーザーコントロールを含むページで:

WebUserControl11.TheDiv.InnerHtml = "addin something to div from page";

幸運を

于 2012-09-22T00:22:15.523 に答える