2011-04-14 57 views
0

我有基於人體模型的這個視圖,這是一個實體模型。根據部分視圖中的操作返回主視圖中的幾個局部視圖

@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() { } 
     }); 
    } 

在此先感謝

回答

0

OK,據我所知。

MVC系統是一個服務器端結構或框架工作。 M =模型,V =查看,C =控制器。

模型是驗證,數據庫等, 查看有標記,JSON,CSS,XML等... 控制器,是PHP,ASP,還是你能說什麼時候顯現。

據我瞭解你的問題,你只是簡單地問使用阿賈克斯。

ajax所做的是請求一個頁面,並使用js將一些數據或全部數據重新傳輸到主頁面。 退房jQuery .ajax功能或谷歌它。

因此可以說,烏拉圭回合的主頁是:

mysite.com回報<h1>Hello World!</h1>

然後AJAX頁面使用JS有 <p>I am ajax</p>

然後主頁/ JQ你可以告訴在那裏你想要「我是ajax」去

+0

在我的項目中我使用ajax來獲得部分視圖'Cr eate'(基於模型PersonContactData),這是插入到我的主視圖(基於模型Person)。但仍然如果我從部分視圖點擊按鈕(onclick函數ACGetList現在顯示在主要主題中)我希望我的RedirectToAction函數返回到主頁面的另一個局部視圖(基於Person模型) – user707596 2011-04-14 13:58:44

+0

ok你的ajax成功可以有另一個Ajax進入它或使用隊列功能發生在它後面,如果你在服務器端重定向它,你只是迫使瀏覽器去不同的位置。下載firebug,在你的Firefox上,它會幫助你更好地理解它,並且正確地調試你的腳本,然後你可以看到每個Ajax請求返回的內容。 – Val 2011-04-14 13:59:04