Ответ 1
На самом деле это довольно просто с jQuery. Скажем, ваша ссылка что-то вроде этого:
<a href="javascript:flagInappropriate(<%=Model.PostId%>);">Flag as inappropriate</a>
Создайте javascript, чтобы вызвать действие в контроллере, чтобы проверить и пометить при необходимости:
function flagInappropriate(postId) {
var url = "<CONTROLLER>/<ACTION>/" + postId;
$.post(url, function(data) {
if (data) {
// callback to show image/flag
} else {
// callback to show error/permission
}
});
}
В вашем методе действий в вашем контроллере, вероятно, будет выглядеть так:
[AcceptVerbs("POST")]
public bool FlagAsInappropriate(int id) {
// check permission
bool allow = CheckPermission();
// if allow then flag post
if (allow) {
// flag post
return true;
} else {
return false;
}
}