1.首先我們來看看普通的傳值是啥樣的。如圖所示,我們普通的傳值是這樣的
1 public ActionResult Edit(int?id) 2 { 3
4 if (id == null) 5 { 6 return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 7 } 8
9
10 Movie movie = db.Movies.Find(id); 11 if (movie == null) 12 { 13 return HttpNotFound(); 14 } 15 return View(movie); 16 }
在列表頁點擊的時候,是這樣的效果:

再來看看我們的QueryString傳值的效果吧:

現在來說說怎么實現的吧,首先我們在列表頁面(Index)加一個鏈接(Click Me),具體代碼如下:
@Html.ActionLink("Click Me", "Edit", "Movies", new{word=item.ID}, new { @class="myClass"})
注意:這里面的匿名對象word必須是word不能是其他的名稱,已經親測。
然后,我們在控制器里面找到Edit方法,在里面獲取Index頁面傳過來的值,這里是word(對應主鍵值ID)
1 public ActionResult Edit() 2 { 3
4 ViewBag.myID = Convert.ToInt32( Request.QueryString["word"]); 5
6 Movie movie = db.Movies.Find(ViewBag.myID); 7 if (movie == null) 8 { 9 return HttpNotFound(); 10 } 11 return View(movie); 12 }
最后運行項目就是上面的那樣的的效果了。編輯功能也沒有任何影響。
