首页 > 解决方案 > 保存当前用户 ID ASP

问题描述

我是 ASP 的新手,我想知道当他想要制作“Reserva”时如何保存当前用户

这是用户的 AuthController

public class AuthController : Controller
    {
        public ActionResult Login()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Login(Cliente cliente, string ReturnUrl)
        {
            if (IsValid(cliente))
            {
                FormsAuthentication.SetAuthCookie(cliente.Rut_Cliente, false);
                if(ReturnUrl != null)
                {
                    return Redirect(ReturnUrl);
                }
                Session["username"] = cliente.Rut_Cliente;
                return RedirectToAction("Index", "Home");
            }
            TempData["mensaje"] = "Nombre o usuario Incorrectos";
            return View(cliente);
                
        }

        private bool IsValid(Cliente cliente)
        {
            return cliente.Autenticar();
        }

        public ActionResult LogOut ()
        {
            FormsAuthentication.SignOut();
            return RedirectToAction("Index", "Home");
        }
    }

这是 ReservaController :

public ActionResult Index()
        {
            ViewBag.reserva = new Reserva().ReadAll();
            return View();
        }

        // GET: Reserva/Details/5
        public ActionResult Details(int id)
        {
            return View();
        }

        // GET: Reserva/Create
        public ActionResult Create()
        {
            EnviarCliente();
            return View();
        }

        private void EnviarCliente()
        {
            ViewBag.cliente = new Cliente().ReadAll();
        }

        // POST: Reserva/Create
        [HttpPost]
        public ActionResult Create([Bind(Include = "Id, Fecha_Inicio, Fecha_Fin, Estado, Cliente_Id")]Reserva reserva)
        {
            try
            {
                // TODO: Add insert logic here
                reserva.Save();
                TempData["mensaje"] = "Guardado correctamente";
                return RedirectToAction("Index");
            }
            catch
            {
                return View(reserva);
            }
        }

如果我在视图中使用 DropDownListFor 并选择它可以工作的用户,但我想使用当前登录的用户 ID 执行此操作并且不使用 DropDownListFor

这是视图“Cliente_Id”是 ForeignKey

/*@Html.LabelFor(r => r.Cliente_Id, "Cliente")
    @Html.DropDownListFor(r => r.Cliente_Id, new SelectList(ViewBag.cliente, "Id", "Nombre"))
    <br />*/

    @Html.LabelFor(r => r.Fecha_Inicio, "Fecha Inicial")
    @Html.TextBoxFor(r => r.Fecha_Inicio, new { type = "date" })
    <br />
    @Html.LabelFor(r => r.Fecha_Fin, "Fecha Termino")
    @Html.TextBoxFor(r => r.Fecha_Fin, new { type = "date" })

我想使用 HiddenFor 但我不知道这是否真的有效

标签: .netentity-framework

解决方案


推荐阅读