![](/img/trans.png)
[英]Failed to load resource: the server responded with a status of 500 (Internal Server Error
[英]Failed to load resource: the server responded with a status of 500 (Internal Server Error) asp.net
这是我的控制器:
namespace Login.Controllers
{
public class LoginController : Controller
{
// GET: Login
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Autherize(Login.Models.user usermodel)
{
using (LogEntities db = new LogEntities())
{
var userdetails = db.users.Where(x => x.USERNAME == usermodel.USERNAME && x.PASSWORD == usermodel.PASSWORD);
if (userdetails == null)
{
usermodel.ErrorMessage = "wrong inputs";
return View("Index", usermodel);
}
return View();
}
}
}
}`
这是我的看法:
@using (Html.BeginForm("Autherize", "Login", FormMethod.Post))
{
<table>
<tr>
<td></td>
<td> Login Form </td>
</tr>
<tr>
<td> @Html.LabelFor(model => model.USERNAME) </td>
<td> @Html.EditorFor(model => model.USERNAME) </td>
</tr>
<tr>
<td> @Html.ValidationMessageFor(model => model.USERNAME) </td>
</tr>
<tr>
<td> @Html.LabelFor(model => model.PASSWORD) </td>
<td> @Html.EditorFor(model => model.PASSWORD) </td>
</tr>
<tr>
<td> @Html.ValidationMessageFor(model => model.PASSWORD) </td>
</tr>
<tr>
<td colspan="2"> <label class="field-validation-error">@Html.DisplayFor(model => model.ErrorMessage)</label> </td>
</tr>
<tr>
<td></td>
<td> <input type="submit" name="login" value="login" /> </td>
</tr>
</table>
}
</div>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
我收到此错误。如何解决此错误?
找不到“授权”视图或其主视图,或者没有视图引擎支持搜索到的位置。 搜索了以下位置:
您已经编写了return View();
在Autherize
方法中,但尚未在/Views/Login
文件夹中为Autherize( Autherize.cshtml
)创建视图页面。
您可以创建Autherize.cshtml
视图并将其返回,也可以重定向到已经存在的视图(可能是授权用户后要将用户重定向到的页面)。
您的Get方法名称为Index,因此您必须更改为Authorize才能找到视图。
return View();
语句试图基于方法名称查找视图。 从那以后,您没有提及任何视图名称。 提及视图名称。
[HttpPost]
public ActionResult Autherize(Login.Models.user usermodel)
{
using (LogEntities db = new LogEntities())
{
var userdetails = db.users.Where(x => x.USERNAME == usermodel.USERNAME
&& x.PASSWORD == usermodel.PASSWORD);
if (userdetails == null)
{
usermodel.ErrorMessage = "wrong inputs";
return View("Index", usermodel);
}
return View('Autherize');
}
}
首先通过此修改您的代码
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(Login.Models.user usermodel)
{
using (LogEntities db = new LogEntities())
{
var userdetails = db.users.Where(x => x.USERNAME == usermodel.USERNAME && x.PASSWORD == usermodel.PASSWORD);
if (userdetails == null)
{
ViewData["ErrorMessage"] = "wrong inputs";
return View("Index");
}
return View("Autherize");
}
}
并使用@using (Html.BeginForm("Index", "Login", FormMethod.Post))
更改此@using (Html.BeginForm("Autherize", "Login", FormMethod.Post))
@using (Html.BeginForm("Index", "Login", FormMethod.Post))
然后在Index.cshtml
页面
@if (ViewData["ErrorMessage"] != null)
{
//Write your error message here.
<h5>User name and password wrong</h5>
}
然后创建Autherize
视图:
public ActionResult Autherize()
{
return View();
}
如果您的USERNAME和PASSWORD不为null,则转到Autherize
View。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.