1

かなり長い間 MVC を行ってきたので、古典的な C# .Net を 8 トラックに追加することにしましたが、次の問題が発生しました。

aspx ページに TextBox WebControl があり、コード ビハインドの後に LiteralControl を追加したいだけです。

これは機能しません:

TextBoxAge.Controls.Add(new LiteralControl("Invalid Age."));

これは機能しますが、一番下にあります:

TextBoxAge.Controls.Parent.Add(new LiteralControl("Invalid Age."));

手伝って頂けますか!?

たとえば、HTML は次のように表示されます。

<div>
<input name="TextBoxAge" type="text" id="TextBoxAge" class="Age">
Invalid Age.
</div>

これは純粋に動的で、手元のコントロールに関連している必要があります。

解決:

TextBoxAge.Parent.Controls.AddAt(TextBoxAge.Parent.Controls.IndexOf(T‌​extBoxAge),new LiteralControl("<span>Invalid Age.</span>"));
4

2 に答える 2

1

最善の方法は、プレースホルダーを使用することです

MSDN から: PlaceHolder コントロールをコンテナーとして使用して、Web ページに動的に追加されるサーバー コントロールを格納します。

PlaceHolder.Controls.Add(new LiteralControl("Invalid Age."));
于 2013-02-06T16:01:33.593 に答える
1

たぶん、あなたはこのようなことを試すことができます。( AddAt が指定されたインデックスでコントロールを置き換えるかどうか覚えていない)

var textBoxAgeIndex = TextBoxAge.Parent.Controls.IndexOf(TextBoxAge);

TextBoxAge.Parent.Controls.AddAt(textBoxAgeIndex +1, new LiteralControl("Invalid Age."));

これが役立つことを願っています

于 2013-02-06T16:08:28.280 に答える