2011-05-20 73 views
0

我有一個儀表板頁面,有4個部分視圖。 每個視圖都有一個編輯鏈接,點擊後會加載另一個模板。MVC3 ActionLink夢魘

現在當然新模板將有保存和取消。當我點擊取消時,我想加載舊視圖,當點擊保存時,我想保存模型並返回到舊視圖。

所有這些都必須是部分更新。我將如何實現這一點。

首先,我使用ajax操作鏈接(使用後)來返回一個日期時間字符串。不是更新我的div,而是將我重定向到不同的視圖。 MVC是可笑的困難。呵呵...

回答

1

啊.. MVC很簡單,一旦你建立一個乾淨的方式做的事情:)

如此 - 每個儀表板上有4個諧音。所以作爲一個選項 - 讓你的主頁有四個div。 在每個div中,使用Html.Partial來呈現您的視圖。 每個局部視圖都有自己的Ajax.BeginForm標籤。 UpdateTargetId是父視圖中的divs標識。我不是一個孩子需要知道其父母的名字更新的巨大粉絲,還有一些其他方式(一個選項是四個視圖中的每一個真的是每個人的兩個其他視圖 - 一個包含表單和DIV被更新,然後像局部視圖撥打電話:

每一個「父」局部視圖例如具有

 

<div id='divAddressEdit'> 
@using (Ajax.BeginForm("action","controller", new AjaxOptions() { UpdateTargetId = "divAddressEdit", InsertionMode = InsertionMode.Replace }){ 
@Html.Partial(....) 
} 
</div> 

讓我們假設你去的第一選項,其中每個部分視圖包含它自己ajax表單 所以 - 當用戶保存 - ok .. ajax表單回發,然後RedirectsToAction()並再次呈現新內容。點擊取消時,同樣的事情發生 - 表單帖子和您重新加載原始信息。

這裏的關鍵是ajax表單。我知道我沒有在這裏包含太多的代碼 - 因爲我相信你的帖子更像是一個概念性問題 - 如果沒有意義,我會發布具體的樣本。

+0

我以前試過,它似乎沒有工作。 – sekhar 2011-05-31 23:20:36

+0

做了什麼之前..阿賈克斯?這肯定會和ajax一起工作......具體失敗了麼? – 2011-06-01 02:47:55

+0

它取而代之的內容。我在控制器上放置了一個斷點。它確實返回了我返回的HTML,但從未在UI上呈現過它 – sekhar 2011-06-01 16:38:44