我並不打算再建一個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開動.
首先在列表中先加一個修改的連接
<!--顯示列表開始-->
<%foreach (var a in ViewData.Model) { %>
<fieldset>
<legend>
<% Html.RenderDynamicField(a, "Title"); %></legend>
//....
<%=Html.ActionLink("修改","Create",new{id=a.ID},null) %>
</fieldset>
<% } %>