2012-11-30 64 views
1

我是新來的ASP,我想問你一些幫助。我使用MvcMusicStore教程幫助構建了商店。現在我想使用OrderId在數據庫中進行搜索。只要orderid是,並且如果我們單擊提交按鈕,它應該顯示數據庫中相應的行。我的方法是如下顯示從數據庫中的數據採取訂單ID作爲mvc4輸入

public ActionResult SearchOrder(int? myid) 
    { 
     var s = from sp in db.Railways 
       select sp; 
     string oid = myid.ToString(); 
     if (!string.IsNullOrEmpty(oid)) 
     { 
      s = s.Where(st => st.OrderID == (Convert.ToInt16(oid))); 
     } 
     return View(s.ToList()); 

    } 

此外,我累與代碼

public ActionResult SearchOrder(int? myid) 
    { 
     if (id != null) 
     { 
      if (ViewBag.OrderID == id.Value) 
      { 
       s = s.Where(st => st.OrderID == id); 
      } 
     } 
     return View(s); 
    } 

在第二種方法中,當我試圖它既不顯示內容,也沒有示出的誤差。 請幫助我。

回答

0

試試這個:

public ActionResult SearchOrder(int? myid) 
{ 
    var s = from sp in db.Railways 
      select sp; 
    if (myid.HasValue) 
    { 
     s = s.Where(st => st.OrderID == myid.Value); 
    } 
    return View(s.ToArray()); 

} 

首先你的榜樣將無法工作,因爲string oid = myid.ToString();不會爲null或空字符串,如果身份識別碼爲空;第二個例子將失敗(ViewBag.OrderID == id.Value)條件,而且不會編譯。

相關問題