2016-03-15 47 views
-2

該URL設法解析例如, 「mylink/Index/1」,但它沒有在我的下一行讀取我的ID。如何從我的控制器獲取htmlAction ID?

@Html.ActionLink("Submit school rating", "Index", "Review", new { id = Model.School_Code }, new { name = "Index" }) 

控制器(審查模式)

public ActionResult Index(int? id, ReviewSearch model) 
     { 
      reviews = revGateway.SelectAll(); 
      if (id == 0) 
      { 
       return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
      } 
      reviews = reviews.Where(s => s.School_Code.Equals(id)); 

      if (reviews == null) 
      { 
       return HttpNotFound(); 
      } 
      var pageIndex = model.Page ?? 1; 
      model.SearchResults = reviews.ToPagedList(pageIndex, RecordsPerPage); 

      return View(model); 
     } 

查看(辦學模式)

@Html.ActionLink("Submit school rating", "Index", "Review", new { id = Model.School_Code }, new { name = "Index" }) 
+0

是什麼讓你覺得id參數沒有綁定。根據你所顯示的代碼,id'Model.School_Code'的值是一個有效的'int',那麼它將被正確綁定。 –

回答

1

有一個在你的代碼沒有問題。我能以相同的方式獲得id。只要確保Model.School_Code具有一定的價值。嘗試先傳遞一些核心價值,並檢查你是否能夠獲得該價值。

您還可以使用的RouteData這樣得到相同的值:

public ActionResult Test() 
    { 
     int id; 
     int.TryParse(RouteData.Values["id"].ToString(), out id); 

     return View(); 
    } 

查看

@ Html.ActionLink( 「提交學校評價」, 「測試」, 「默認」,新{ id = 1},new {name =「Index」})

+0

不。當我將一些值硬編碼到ActionLink時,它甚至沒有工作。回答「壞請求」 – user2641733

+0

刪除所有其他的東西,只是嘗試像我上面顯示的簡單動作。它應該能夠工作,如果你能夠去控制器。調試並嘗試查看是否可以 – Nab

相關問題