Jquery 根据单元格值隐藏或禁用MVC3 ActionLink

Jquery 根据单元格值隐藏或禁用MVC3 ActionLink,jquery,asp.net-mvc,asp.net-mvc-3,razor,html.actionlink,Jquery,Asp.net Mvc,Asp.net Mvc 3,Razor,Html.actionlink,MVC3为我创建了下表 @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(modelItem => item.Author) </td> <td> @Html.DisplayFor(modelItem => item.Comment) </td> <td> @

MVC3为我创建了下表

@foreach (var item in Model) {
<tr>
    <td>
        @Html.DisplayFor(modelItem => item.Author)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Comment)
    </td>
     <td>
        @Html.ActionLink("Edit", "Edit", new { id=item.UserCommentID }) |
        @Html.ActionLink("Details", "Details", new { id=item.UserCommentID }) |
        @Html.ActionLink("Delete", "Delete", new { id=item.UserCommentID })
    </td>
</tr>
@foreach(模型中的变量项){
@DisplayFor(modeleItem=>item.Author)
@DisplayFor(modelItem=>item.Comment)
@ActionLink(“编辑”,“编辑”,新的{id=item.UserCommentID})|
@ActionLink(“详细信息”,“详细信息”,新的{id=item.UserCommentID})|
@ActionLink(“删除”,“删除”,新的{id=item.UserCommentID})
}

我相信每个人以前都见过这种事情一百万次

有人知道根据item.Author是否有隐藏或禁用ActionLink的方法吗

(我只希望作者能够编辑或删除自己的评论)

我认为答案可能在于jQuery,但我对任何解决方案都非常满意

非常感谢。

像这样的东西

@if(item.Author == loggedInUserIdOrSomethingYouWantToCompareTo) {
    <text>
    @Html.ActionLink("Edit", "Edit", new { id=item.UserCommentID }) |
    @Html.ActionLink("Details", "Details", new { id=item.UserCommentID }) |
    @Html.ActionLink("Delete", "Delete", new { id=item.UserCommentID })
    </text>
}
@if(item.Author==loggedInUserIdOrSomethingYouWantToCompareTo){
@ActionLink(“编辑”,“编辑”,新的{id=item.UserCommentID})|
@ActionLink(“详细信息”,“详细信息”,新的{id=item.UserCommentID})|
@ActionLink(“删除”,“删除”,新的{id=item.UserCommentID})
}
显然,您仍然应该在控制器端进行检查,以确保用户拥有权限(很容易“伪造”这些URL)。

类似的内容

@if(item.Author == loggedInUserIdOrSomethingYouWantToCompareTo) {
    <text>
    @Html.ActionLink("Edit", "Edit", new { id=item.UserCommentID }) |
    @Html.ActionLink("Details", "Details", new { id=item.UserCommentID }) |
    @Html.ActionLink("Delete", "Delete", new { id=item.UserCommentID })
    </text>
}
@if(item.Author==loggedInUserIdOrSomethingYouWantToCompareTo){
@ActionLink(“编辑”,“编辑”,新的{id=item.UserCommentID})|
@ActionLink(“详细信息”,“详细信息”,新的{id=item.UserCommentID})|
@ActionLink(“删除”,“删除”,新的{id=item.UserCommentID})
}

显然,您仍然应该在控制器端进行检查,以确保用户具有权限(很容易“伪造”这些URL)。

除了Marek的评论之外,请在当前用户发布/获取您的编辑页面时检查该用户,以确保他们具有此权限。我可以很容易地伪造一个链接来访问我应该可以访问的内容,甚至可以更改任何隐藏的表单值,在编辑内容时,您必须对模型进行篡改

除了Marek的评论之外,请在当前用户发布/获取您的编辑页面时检查他们,以确保他们对此有权限。我可以很容易地伪造一个链接来访问我应该可以访问的内容,甚至可以更改任何隐藏的表单值,在编辑内容时,您必须对模型进行篡改

谢谢你,马瑞克。您的解决方案非常有效。我想这会困难得多。你为我节省了很多时间。也谢谢你的建议,检查控制器方面,我不会想到这一点,我自己。谢谢马瑞克。您的解决方案非常有效。我想这会困难得多。你为我节省了很多时间。还感谢您建议检查控制器侧,我自己不会想到这一点。