c# - 页面未按预期重定向
问题描述
我正在尝试验证输入数据,如果验证为真,请转到下一个视图。但是,我可以看到我的代码在当前页面不存在。
控制器:
public ActionResult ForgotLoginId()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ForgotLoginId(Testing ForgotLIDAuthentication)
{
if (ModelState.IsValid)
{
using(SUPRTestingDBEntities2 db = new SUPRTestingDBEntities2())
{
if (obj != null)
{
Session["LoginID"] = obj.EmailID.ToString();
Session["EmailID"] = obj.TaxID.ToString();
return RedirectToAction("LIDAuthentication");
}
else if (obj == null)
{
return View();
}
}
}
return View();
}
public ActionResult LIDAuthentication()
{
if (Testing.IsUserValid())
{
return View();
}
else
{
return RedirectToAction("ForgotLoginID");
}
}
看法:
@using (Html.BeginForm("ForgotLoginID", "Corporation", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
if (ViewBag.Message != null)
{
<div style="border: 1px solid red">
@ViewBag.Message
</div>
}
<div>
<textarea name="EmailId" style="width:50%; border-color: black" required>@Html.TextAreaFor(a => a.EmailID)</textarea>
<text>@Html.ValidationMessageFor(a => a.EmailID)</text>
<textarea name="TaxID" style="width:30%; border-color: black" required placeholder="xxxxxxxxx" maxlength="9">@Html.TextAreaFor(a => a.Password)</textarea>
<text>@Html.ValidationMessageFor(a => a.Password)</text>
<button type="submit" style="width: 20%; color: white; background-color: deepskyblue; border-color:black" value="SubmitRequest" name="Submitbtn"><b>Submit</b></button>
</div>
}
模型:
public partial class Testing
{
public int LoginID { get; set; }
[Required]
public string EmailID { get; set; }
[Required]
public int TaxID { get; set; }
public string Password { get; set; }
[Required]
public string CorporationName { get; set; }
public static bool IsUserValid()
{
HttpContext context = HttpContext.Current;
if (context.Session["LoginID"] != null)
{
return true;
}
else
return false;
}
}
在这里,页面没有退出当前视图。当我尝试在 Controller 中的 [httppost] 之后插入断点时,它甚至没有命中代码。
另外,我不确定为什么我的观点在领域中有一些东西,我不知道它是什么。不确定这是否会影响我的输出。
请帮我解决一下这个。
解决方案
我不确定这是否能解决您的问题,但您的视图代码应类似于:
@using (Html.BeginForm("ForgotLoginID", "Corporation", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
if (ViewBag.Message != null)
{
<div style="border: 1px solid red">
@ViewBag.Message
</div>
}
@Html.TextAreaFor(a => a.EmailID)
@Html.ValidationMessageFor(a => a.EmailID)
@Html.TextAreaFor(a => a.Password)
@Html.ValidationMessageFor(a => a.Password)
<button type="submit" style="width: 20%; color: white; background-color: deepskyblue; border-color:black" value="SubmitRequest" name="Submitbtn"><b>Submit</b></button>
}
推荐阅读
- javascript - 如何将自定义按钮添加到视频 js 播放器
- scala - 从Scala中的给定顶点计算凸图的面积
- java - I want to print even and odd number from an input array list
- oracle - dot notation in utplsql advanced data comparison
- javascript - 如何双击使用 JavaScript(引导程序)编写的输入文本框?
- amazon-web-services - How can I make API gateway only available to my ec2 instance?
- jquery - How to get Exact file location selected from tag
- stm32f4 - USART 收不到数据
- exception - 到达路线前的骆驼异常
- javascript - injecting ajax using ScriptInjector GWT