GrpSMK Ответов: 1

Как передать строковое значение в контроллер


Я хочу передать строковое значение (UserId) от одного контроллера к результату действия http post (button clik)

Что я уже пробовал:

public ActionResult Login(string UserId)
    {
       // string mail = Decrypt(UserId);
        return View();
    }
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Login(UserProfile objUser)
    {

        //string EncryptedID = Decrypt(objUser.UserId);
        if (ModelState.IsValid)
        {
            using (DBEntities db = new DBEntities())
            {
                var obj = db.UserProfiles.Where(a => a.UserName.Equals(objUser.UserName) && a.Password.Equals(objUser.Password)).FirstOrDefault();
                if (obj != null)
                {
                    Session["UserId"] = obj.UserId.ToString();
                    Session["UserName"] = obj.UserName.ToString();
                    return RedirectToAction("UserDashBoard");
                }
            }

Richard Deeming

И зачем вы заново изобретаете колесо? ASP.NET имеет несколько совершенно хороших встроенных систем аутентификации / авторизации.

Например, Личность ASP.NET [^]

1 Ответов

Рейтинг:
6

Ehsan Sajjad

Вы можете создать тег привязки в сочетании с @Url.Action метод, поэтому, когда пользователь нажмет на него, он вызовет Авторизоваться действие и будет публиковать UserId со значениями IdHere на сегодня:

<a href="@Url.Action("Login","ControllerName", new {UserId = "IdHere"})"


или вы также можете использовать элемент button, например:

<button class="btn btn-info" type="button" id="addressSearch"   

          onclick="location.href='@Url.Action("Login","ControllerName", new {UserId = "IdHere"})'">



Надеюсь, это поможет вам понять, как к этому подойти.

Спасибо,
Эхсан


GrpSMK

спасибо