Asp.net mvc 如何从登录页面传递值

Asp.net mvc 如何从登录页面传递值,asp.net-mvc,Asp.net Mvc,你好,我需要帮助 我正在创建我的第一个asp mvc网页。 我创建了一个与数据库连接的登录和注册页面 我想将登录到预订表的客户的CustomerId传递给Bookings表 因此,它只显示与该客户相关的预订。 Bookings表将CustomerId作为外键。这就是我到目前为止所做的 public class BookingController : Controller { // GET: Booking public ActionResult Index(int custome

你好,我需要帮助 我正在创建我的第一个asp mvc网页。 我创建了一个与数据库连接的登录和注册页面

我想将登录到预订表的客户的CustomerId传递给Bookings表 因此,它只显示与该客户相关的预订。 Bookings表将CustomerId作为外键。这就是我到目前为止所做的

public class BookingController : Controller
{
    // GET: Booking
    public ActionResult Index(int customerId)
    {

        TravelExpertsEntities bookingdb = new TravelExpertsEntities();
        List<Booking> bookings = bookingdb.Bookings.Where(book => 
book.CustomerId == customerId).ToList();
        return View(bookings);
    }
}
}

//This is from login Controller 

 public ActionResult Login(Customer reg)
    {
        if (ModelState.IsValid)
        {
            var details = (from userlist in db.Customers
                           where userlist.UserName == reg.UserName && 
      userlist.Password == reg.Password
                           select new
                           {
                               userlist.CustomerId,
                               userlist.UserName
                           }).ToList();
            if (details.FirstOrDefault() != null)
            {
                Session["CustomerId"] = 
      details.FirstOrDefault().CustomerId;
                Session["Username"] = details.FirstOrDefault().UserName;
                return RedirectToAction("Index", "Booking");
            }
        }
        else
        {
            ModelState.AddModelError("", "Invalid UserName or Password");
        }
        return View(reg);
    }
公共类预订控制器:控制器
{
//获取:预订
公共操作结果索引(int customerId)
{
TravelExpertSenties bookingdb=新TravelExpertSenties();
List bookings=bookingdb.bookings.Where(book=>
book.CustomerId==CustomerId).ToList();
返回视图(预订);
}
}
}
//这是来自登录控制器
公共操作结果登录(客户注册)
{
if(ModelState.IsValid)
{
var details=(来自db.Customers中的userlist
其中userlist.UserName==reg.UserName&&
userlist.Password==注册密码
选择新的
{
userlist.CustomerId,
userlist.UserName
}).ToList();
if(details.FirstOrDefault()!=null)
{
会话[“CustomerId”]=
details.FirstOrDefault().CustomerId;
会话[“用户名”]=详细信息。FirstOrDefault()。用户名;
返回操作(“索引”、“预订”);
}
}
其他的
{
AddModelError(“,“无效的用户名或密码”);
}
返回视图(reg);
}

我可以提取所有预订,但我想与登录的客户一起过滤

替换重定向操作,如下所示,将customerId作为参数传递

var CustomerIdparam=details.FirstOrDefault().CustomerId;
RedirectToAction("Index", "Booking", new{customerId=CustomerIdparam});

您可以按如下方式传递参数,返回RedirectToAction(“Index”,“Booking”,new{customerId=details.FirstOrDefault().customerId});谢谢你,先生:)@Mann你是堆栈溢出新手,这就是为什么我建议你,如果它解决了你的问题,那么点击答案左边的复选标记。