0

良い諸君!

私は次のシナリオをいじっています:

まず、DevExpress ASPXPopUpControl とその他のコントロールを含む Web フォームとして構造化された Web フォームがあります。PopUpControl 内には、他のコントロールを含む UserControl (ucA と呼びます) と、呪われた ASPxHtmlEditor (新しい要件であるため追加されました) を含む UserControl (ucB と呼びます) があります。

ユーザーがメイン Web フォームのボタンを押すと、ucA を含むポップアップを表示します (元は jQuery ダイアログでしたが、HTMLEditor が jQuery を台無しにして以来、標準を破ってポップアップを使用することを余儀なくされました)。ユーザーは ucA のいくつかのフィールドに入力し、保存ボタンを押します。ユーザーがヒットした後、いくつかのデータを保存します。この時点で、Web フォームに配置されたテキスト ボックスの値を復元する必要があります。

Parent.FindControl["myTextBox"] を使用していますが、popupcontrol を親と見なします。(エディターを実装する前に) jQuery を使用していたとき、それは魅力的に機能しました。

些細なことだと思いますが、これが何時間もの研究を盗んだと言ったとき、私は突き刺さりました.

前もって感謝します。

EDITメインのWebフォームで別のUserControlを探したいことを忘れていました。この uc は、ユーザーにコア メッセージを表示するために使用されるため、ユーザーが保存ボタンを押すと、保存が行われ、ポップアップが閉じられ、ユーザー コントロールの ucA から (Parent.FindControl("myUCMessageBoard")) が表示され、「Transaction complete」が表示されます。 " メッセージ。

4

2 に答える 2

1

を使用して、少しハッキーなことをする必要があると思いますViewStateTextBox私が正しく理解している場合、PopupControl 内にネストされた UserControl から、Web フォーム上のにアクセスしようとしてTextいます (そのため、Web フォーム レベルまでトラバースすることはできません)。

そのため、プロセスのある時点で、ユーザー コントロールからアクセスできる ViewState 変数にテキストを格納します。最適ではありませんが、既にハッキングして動作させているので、もう少しハッキングする必要はありません。

于 2013-07-09T19:54:48.747 に答える
0

ucA のすべてのコントロールをプロパティとして公開し、同じ方法で DevxPopup 内のコントロールを探す必要があります。ucA で必要なすべてのコントロールに、それらにアクセスするためのプロパティがあるとすれば、必要なすべてのロジックを実行できます。

例:

public ucA : UserControl
{
    public string myTextBoxText 
    { 
        get 
        {
            return ((TextBox)Controls.FindControl("myTextBox")).Text;
        }
    }
    /*And lot of controls*/
}

次に、フォームでポップアップを探します

var ucA = (UcA)Form.Controls.FindControl("myPopup").Controls.FindControl("myucA");
ucA.myTextBoxText = /*Do stuff here with the text*/

これがお役に立てば幸いです。

于 2013-07-09T19:46:25.760 に答える