1

contact.aspx というフォームがあり、ユーザー リストを含むドロップダウンがあります。

ユーザーを追加するには、以下の行を追加します。

<a href="#" id="userLink" onclick="insertUser()" class="addnew" runat="server">New User</a>

また、insertUser の JavaScript は以下のとおりです。

<script type="text/javascript">
    function insertUser() {
        var win = window.open('stackoverflow.aspx?t=1', 'User Insert', 'width=800,height=600');
}
</script>

「 」をクリックするとNew User、stackoverflow.aspx が開き、新しいユーザー データを入力して [保存] をクリックしたい。保存ボタンをクリックした後、stackoverflow.aspx を閉じて contact.aspxのドロップダウンのみを更新するにはどうすればよいですか?

4

4 に答える 4

0

session 、 db または ... に変数を格納する必要があります

このリンクを使用してください。

http://forums.asp.net/t/1606853.aspx/1

于 2013-06-24T08:26:30.860 に答える
0

他のページからフィールドを更新することはできないため、別のページでこれを行わないでください。contact.aspx から一定間隔で ajax リクエストを行うことができ、新しいユーザーがいるかどうかを DB に確認して更新することができます。しかし、それは良い解決策ではありません。そのため、contact.aspx、iframe 内、または div 内でこの登録 (stackoverflow.aspx にあります) を行うことをお勧めします。各アクションで各コンテンツを非表示にすることができます(登録時に、残りのコンテンツを非表示にして登録フィールドを表示するだけです。完了したら、ドロップダウンリストを更新して登録フィールドをリセットし、それらを非表示にしてドロップダウンリストを表示します)。このアプローチでは、次のことができます。登録が完了したら、ドロップダウンリストを更新します。

ドロップダウンリストを更新するには、db から新しい値を取得できる ajax 呼び出しを行い (異なるユーザーから同時に複数の新しい値が送信される可能性があります)、ドロップダウンを更新します (これは HTML のオプションで選択されます)。ただし、これを行うと、組み込みの asp.Net 機能 (xss 攻撃に対する防御) である eventvalidation エラーが発生する可能性があります。したがって、解決策は、登録後に完全なポストバックを作成し、サーバーコードで値を更新するか、サーバーコントロールを使用してドロップダウンリストを作成せず、html 選択のみを行い、ドキュメントの準備ができたら入力し、javascript または jQuery で非同期に更新することです。 .

于 2013-06-24T08:55:48.100 に答える