このビューは、エンティティモデルである人物モデルに基づいています。部分ビュー内のアクションに基づいて、メインビュー内でいくつかの部分ビューを返します。
@model TestApp.Models.Person
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@Html.Partial("../PersonContactData/Create");
私のPersonContactDataコントローラは、フォームと送信ボタンを持つ部分的なビュー "Create"を返します。送信ボタンを押すと、PersonContactDataコントローラーからのIndexへのredirectToActionを行い、Indexから上記のページにビューを戻したいとします。
どうすればよいですか?
そして、私はこのすべてがページをリフレッシュせずに起こることを望んでいます。私はすべての値をajaxで渡すことができますが、Personモデルに基づいたメインビューに返される部分的なビュー(PersonContactDataからのリスト、作成、編集、..)を実際に取得するには、 つまり、アクション、対応する部分的なビュー、およびそれらの機能は、他のモデル(Person)とコントローラ(PersonController)に基づいたページ内で機能することができます。
これは、作成ビューからの値これは動作しますが、私はHttpPost CreateアクションのAction Indexにリダイレクトし、動作するはずのView for Indexを返したいと思います。しかし私のメインビュー(Personモデルに基づく)はそれを表示しません。事前に
function ACGetList() {
var personContactData = {
ContactType: $('#ddlContactDataType').val(),
Value: $('#txtContactDataValue').val()
};
$.ajax({
url: '/PersonContactData/Create',
type: 'POST',
data: JSON.stringify(personContactData),
dataType: 'Json',
contentType: 'application/json; charset=utf-8',
success: function() { },
error: function() { }
});
}
おかげで私の知る限りでは
私のプロジェクトでは、私はajaxを使ってパーシャルビュー 'Cr私のメインビュー(モデルPersonに基づく)に挿入される「eate」(モデルPersonContactDataに基づいて)しかし、まだボタンをクリックすると(onclick関数ACGetListはメイントピックに表示されます)、パーシャルビューからRedirectToAction関数がメインページ(Personモデルに基づいて)に別の部分ビューを返すようにしたい場合 – user707596
ur ajax successそれに別のAjaxを持たせることも、キューの機能を使用して直後に実行することもできます。サーバー側でUrlをリダイレクトすると、別の場所にブラウザを移動させるだけです。Firebugをダウンロードすると、Firefoxの理解が向上し、スクリプトが正しくデバッグされ、各Ajaxリクエストが何を返すのかがわかります。 – Val