Asp.net mvc 3 Web网格MVC 3-用于检查条件的If语法
我这里有一个语法错误,有人能指出这是什么吗 我已从控制器获取ViewBag.IsAdminAsp.net mvc 3 Web网格MVC 3-用于检查条件的If语法,asp.net-mvc-3,Asp.net Mvc 3,我这里有一个语法错误,有人能指出这是什么吗 我已从控制器获取ViewBag.IsAdmin //code- I am writing this in a view-webgrid grid.Column(format : (item) => { if(ViewBag.isAdmin) {
//code- I am writing this in a view-webgrid
grid.Column(format : (item) => {
if(ViewBag.isAdmin)
{
Html.ActionLink("Edit", "EditSingleAbsence","Absence", new { AbsenceId = item.id }, null);
}
}
)
/code ended
它将显示以下错误:
CS1502: The best overloaded method match for 'System.Web.Helpers.WebGrid.Column(string, string, System.Func<dynamic,object>, string, bool)' has some invalid arguments
工作解决方案 在谷歌搜索之后,这对我来说很有效。我从你那里得到了这个解决方案
首先,我相当肯定,Razor仍然无法使用类似的Lambda表达式。(但我有一阵子没去登记)等一下。您可能希望将您的解决方案作为答案放在下面,并将其标记为:作为razor的新手,我只能说上面的代码正在工作。我将发布已回答的解决方案。非常确定您所需要做的就是在
Html.ActionLink
中添加一个return
语句,它会起作用:)
grid.Column(format:(item) => ViewBag.isAdmin ? Html.ActionLink("Edit", "EditSingleAbsence", "Absence", new { AbsenceId = item.id }, null) : Html.Raw(""))
grid.Column(format:(item) => ViewBag.isAdmin ? Html.ActionLink("Edit", "EditSingleAbsence", "Absence", new { AbsenceId = item.id }, null) : Html.Raw(""))