我有基於人體模型的這個視圖,這是一個實體模型。根據部分視圖中的操作返回主視圖中的幾個局部視圖
@model TestApp.Models.Person
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@Html.Partial("../PersonContactData/Create");
然後我的PersonContactData控制器返回部分視圖「創建」,它有一個窗體和一個提交按鈕。當我按下提交按鈕時,我會從PersonContactData控制器執行一個redirectToAction以索引,並且我想從Index返回到上面描述的頁面。
我該怎麼做?
而且我希望所有這一切都在沒有頁面刷新的情況下發生。我可以通過ajax傳遞所有的值,但是我需要一些'容器'或者某些東西來實際地獲取返回到基於Person模型的主視圖的部分視圖(列表,創建,編輯,..從PersonContactData)。 換句話說,這些動作及其相應的局部視圖及其功能可以在基於antother模型(Person)和控制器(PersonController)的頁面中工作
這就是例如一個ajax post函數,我用它來獲取創建視圖的值。這工作,但我仍然希望重定向到我的HttpPost創建操作中的操作索引,並返回視圖索引,因爲它應該工作。但我的主視圖(基於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 eate'(基於模型PersonContactData),這是插入到我的主視圖(基於模型Person)。但仍然如果我從部分視圖點擊按鈕(onclick函數ACGetList現在顯示在主要主題中)我希望我的RedirectToAction函數返回到主頁面的另一個局部視圖(基於Person模型) – user707596 2011-04-14 13:58:44
ok你的ajax成功可以有另一個Ajax進入它或使用隊列功能發生在它後面,如果你在服務器端重定向它,你只是迫使瀏覽器去不同的位置。下載firebug,在你的Firefox上,它會幫助你更好地理解它,並且正確地調試你的腳本,然後你可以看到每個Ajax請求返回的內容。 – Val 2011-04-14 13:59:04