asp.net ユーザー コントロール (.ascx) があります。ユーザー コントロールには HTML 隠しフィールドがあります。
<input id="HiddenField1" type="hidden" runat="server" />
ユーザー コントロールが HTML ウィンドウ ポップアップを起動し、ユーザーがポップアップにいくつかの値を入力すると、ポップアップが閉じられた後、文字列値がその非表示フィールドに保存されます。
document.getElementById("HiddenField1").value = windowResult;
最後に、ユーザー コントロールのバックエンド コードは、非表示フィールドから文字列値を取得することでいくつかのタスクを実行します。
string[] nameValuePair = new string[2];
nameValuePair = HiddenField1.Value.Split('%');
問題は、実行中に document.getElementById("HiddenField1") が失敗することです。Web ページでユーザー コントロールを使用すると、コントロールの ID が になるため[my usercontrol name] + $ + [hidden field name]
です。(例えばctrl_TaxonomyTree1$HiddenField1
)
ユーザー コントロールは動的に入力されるため、インスタンスの名前を常に把握できるとは限りません。
これを整理する方法はありますか?