2009-06-04 8 views
0

ほとんどの人はNerddinner.comを知っています。私のページはこれによく似ていますので、Nerddinnerにこれを行うことを想像してみましょう。jQueryダイアログで部分フォームをレンダリングする

夕食を編集すると、Dinner/Edit.aspxにリダイレクトされ、DinnerFormViewModelタイプの部分表示DinnerForm.ascxが表示されます。

このDinnerFormがjQuery UIダイアログに表示されない場合はどうなりますか?

私は考えている:あなたは夕食を編集することを選択したページでは、部分ビューDinnerFormを含むdiv要素を持っています:

<div id="editDinnerForm"> 
    <% Html.RenderPartial("DinnerForm", chosenDinnerToEdit); %> 
</div> 

ですから、編集する夕食を選択すると、そのdiv要素をjQuery UIダイアログとして表示され、選択されたディナーが部分ビューに表示されます。 (?!)

私の質問は、現在の夕食を部分的に表示する方法です。

ありがとうございます。

答えて

1

私はあなたの問題が正しいかどうか分かりません。ドキュメントにAjax経由で部分ビューをロードするだけの理由はありませんか?

+0

はようだ....あなたは何度も何度もこれらの部分のフォームをレンダリングする必要がないようにあなたはまた、簡単にこれらの要求をキャッシュすることができ

<select onchange="$('#editDinnerForm').load(<url>,{dinner:this.value});"> <option>Dinner1</option> <option>Dinner2</option> </select> 

:この原因では、ちょうどこのような何かを持っているでしょう良い解決策。私はそれを試してみましょう。しかし、別の問題が発生します...フォームが無効で、ユーザーが編集ページにリダイレクトされるとどうなりますか?エラーが発生した場合にダイアログをポップアップすると、エラーメッセージとフォームが表示されます。 –

+0

この場合、サーバー上のコンテンツを事前にレンダリングする(自分の選択を知っているので)か、$(document).ready(...)関数内で同じAjaxリクエストを作成するのはかなり簡単です – pagid

関連する問題