显示数据库中的数据,将订单ID作为输入在mvc4中

时间:2012-11-30 10:57:15

标签: asp.net-mvc

我是asp的新手,我想请你帮忙。我用MvcMusicStore教程帮助构建了商店。现在我想使用OrderId在数据库中搜索。一旦orderid是,如果我们点击提交按钮,它应该显示数据库中的相应行。我的方法如下

    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);
    }

在我尝试的第二种方法中既不显示内容也不显示错误。 请帮助我。

1 个答案:

答案 0 :(得分: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());

}

首先你的例子不起作用,因为如果myid为null,string oid = myid.ToString();将不为null或空字符串;第二个例子将失败(ViewBag.OrderID == id.Value)条件,而且不会编译。