【发布时间】:2016-04-28 15:42:17
【问题描述】:
我的 Visual Studio 2013 快疯了,因为我收到很多这样的代码错误:
@Html.LabelFor(model => model.Type, new { @class = "control-label col-md-2" })
和
@Html.TextBoxFor(model => model.Password, new { @class = "form-control" } )
@Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
但是当我重建项目时,不会显示错误。 几秒钟后,错误返回。 当我运行项目时,每个人都认为没问题。 但最近我使用了这段代码:
<div>
<i class="fa fa-arrow-circle-right"> @Html.ActionLink("go back to list", "Index", "ShowMembers",new {id = int.Parse(ViewData["AdminId"].ToString())},null) </i>
</div>
<li>
@Html.ActionLink("setting", "Index", "AdminSetting", new { id = int.Parse(ViewData["AdminId"].ToString()) }, new { @class = "fa fa-gear fa-fw" })
</li>
再一次,上面的代码我得到了很多错误但是这次当我运行项目并进入这个页面时,我得到了以下错误:
编译错误
描述:在编译服务此请求所需的资源期间发生错误。请查看以下具体错误详情并适当修改您的源代码。
编译器错误消息:CS1520:方法必须有返回类型
下面这几行是控制器的动作:
public ActionResult Edit(int id = -1,int AdminId = -1)
{
if (Session["AdminId"] != null && Session["AdminName"] != null)
{
repository = new Repository();
var member = repository.FindMemberById(id);
return View(member);
}
else
{
return RedirectToAction("Index", "AdminLogin");
}
}
这是我的源错误:
第 1294 行:#line 默认
第 1295 行:#line hidden
第 1296 行:BeginContext("~/Areas/Administrator/Views/ShowMembers/Edit.cshtml", 6849, 47, 真);
第 1297 行:
第 1298 行:WriteLiteral("\r\n \r\n
我是怎么解决的?
【问题讨论】:
-
如果你点击这个错误信息,你会采取什么方法?它有返回类型吗?
-
您可以通过使用角色或声明来避免这种情况,并使用
Authorise属性来检查用户是否是管理员。在我看来,这就是您要在这里做的事情。 -
@Spluf ,我对我的所有页面都使用这种方法,所以它的工作正常
-
这是您每次遇到的错误吗?您是否尝试过调试以查看哪个方法会引发该错误?你的控制器看起来不错,你的剃须刀也很好......
-
我调试好了,我的控制器没问题
标签: asp.net-mvc