Asp.net mvc 如何从登录页面传递值
你好,我需要帮助 我正在创建我的第一个asp mvc网页。 我创建了一个与数据库连接的登录和注册页面 我想将登录到预订表的客户的CustomerId传递给Bookings表 因此,它只显示与该客户相关的预订。 Bookings表将CustomerId作为外键。这就是我到目前为止所做的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
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你是堆栈溢出新手,这就是为什么我建议你,如果它解决了你的问题,那么点击答案左边的复选标记。