1

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

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

4

1 回答 1

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();如果 myid 为 null,则不会为 null 或空字符串;第二个示例将失败(ViewBag.OrderID == id.Value),而且不会编译。

于 2012-11-30T11:04:24.987 回答