天天看點

DynamicData for Asp.net Mvc留言本執行個體 下篇 更新

我并不打算再建一個edit頁來實作更新,而打算用現有的create頁來實作更新功能

雖然也許這樣并不符合其語義,但我仍想這麼做,因為asp那時候大家都是把增删改查放在一個頁面的隻用參數來差別

如:

article?m=add

article?m=modfiy

article?m=delete

由于控件的流行,細節被Asp.net隐匿了起來,很多朋友不再通過QueryString或隐藏表單來控制功能,或者未接觸過Asp的朋友從來也沒有想過這麼做,因為GridView等控件提供了增删功能.

但是Asp.net Mvc下我們是否應該重新認識一下這種些基礎的東西呢

因為一個朋友剛剛問了我一個關于通過QueryString來區分Add/Edit的問題,是以感觸挺多,啰嗦幾句,大家見諒

而我這裡為了不破壞前面所講的結構是以隻能将錯就錯一下,為Create添加一個id的可空參數,如果id為空即為添加,如果有id的值傳過來就是編輯

OK開動.

首先在清單中先加一個修改的連接配接

DynamicData for Asp.net Mvc留言本執行個體 下篇 更新

這裡我們将id傳了過去

在create頁我們将view修改一下:

這樣view頁就可以自動生成添加或修改的表單,而其判斷依據是ViewData.Model是否存在值

我們在Controller中對id進行判斷,如果存在則給ViewData.Model指派

同樣,我們在它的處理Action也做一個判斷

這樣我們就有了一個同時兼備修改和添加功能的頁面.

<a href="http://www.cnblogs.com/chsword/archive/2008/11/14/MvcDynamicData3.html">DynamicData for Asp.net Mvc留言本執行個體 下篇 更新</a>

<a href="http://www.cnblogs.com/chsword/archive/2008/11/14/MvcDynamicData2.html">DynamicData for Asp.net Mvc留言本執行個體 中篇 建立.删除.資料驗證</a>

<a href="http://www.cnblogs.com/chsword/archive/2008/11/14/MvcDynamicData.html">DynamicData for Asp.net Mvc留言本執行個體 上篇 準備工作及顯示文章清單</a>

繼續閱讀