Я прошу простую страницу входа, чтобы пользователь мог ввести пин-код в мобильном адаптивном приложении, находящемся дома, но не в сети.
Когда страница размещена, пользователь нажимает кнопку отправки, когда SaveUsers являетсяФункция, которая вызывается первой, это на контроллере входа.
[HttpPost]
[ActionName("Index")]
public ActionResult SaveUsers(Users model)
{
BrianScott_SOMEntities usr = new BrianScott_SOMEntities();
var s = usr.GetUsers(model.Pin);
var item = s.FirstOrDefault();
if (item == "Success")
{
var sageDetails = usr.Users.Where(w => w.Pin ==model.Pin).FirstOrDefault();
HttpCookie cookie = new HttpCookie("BScotSalesOrderManagerLogin");
cookie.Values.Add("SageUserName", sageDetails.SageUserName.ToString());
cookie.Values.Add("SagePassword", sageDetails.SagePassWord.ToString());
cookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(cookie);
return View("~/Views/Home/Index.cshtml");
}
else if (item == "User Does not Exists")
{
ViewBag.NotValidUser = item;
}
else
{
ViewBag.Failedcount = item;
}
return View("Index.cshtml");
}
Ниже приведена форма, представленная вышеупомянутым контроллером, которая запрашивает у пользователя номер пин-кода.
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
@model Web.SOM.Models.Users
@using (Html.BeginForm())
{
<div class="bs-example" style="border:2px solid gray;">
<label>@ViewBag.SageUserName</label>
<div class="form-group centerlook">
<h1> Login </h1>
</div>
<div class="form-group centerlook">
<label>Pin: </label>
@Html.EditorFor(model => model.Pin )*
@Html.ValidationMessageFor(model => model.Pin)
</div>
<div class="form-group error">
@if (@ViewBag.Failedcount != null)
{
<label> Failed Attempt count is: @ViewBag.Failedcount</label>
}
@if (@ViewBag.NotValidUser != null)
{
<label> @ViewBag.NotValidUser</label>
}
</div>
<div class="loginbtn">
<input type="submit" value="Login" class="btn btn-primary" />
</div>
</div>
}
Контроллер home - это то, что перенаправляет контроллер в первом фрагменте кода, это индексное действие, к которому я хочу обратиться.
public ActionResult Index()
{
if (Request.Cookies["BScotSalesOrderManagerLogin"] != null)
{
ViewBag.SageUserName = Request.Cookies["BScotSalesOrderManagerLogin"].Values["SageUserName"];
ViewBag.SagePassword = Request.Cookies["BScotSalesOrderManagerLogin"].Values["SagePassword"];
}
return View();
}
Но метод не получает удар, если я не выполню сложныйперезагрузить, есть ли другой способ перейти к другому представлению и убедиться, что используется метод index?.
Потому что, когда я смотрю на пакет, элементы становятся нулевыми, когда они должны содержать имя пользователя и парольсоответствующая строка, когда я отлаживаю на первой странице значения их, но затем теряются на другой странице.
На моей странице я хочудля отображения информации, которую я просто делаю
<label>Sage Username : @ViewBag.SageUserName </label>
Но значение пустое?Я работаю на веб-формах, поэтому прошу прощения, что лучше поздно, чем никогда не прыгать с корабля