【发布时间】:2016-02-20 11:27:23
【问题描述】:
我为列表中的每个元素显示 4 个按钮。
我想知道哪个按钮里面有数据,所以我创建了一个 ActionResult,如果包含数据,则返回 true。
[HttpPost]
public ActionResult TieneNotificacion(string Pnombre, string Pcorreo1, string Pprefijo)
{
var lista = agp.CC15_EscalaMandoPorUsuario(Pnombre,Pcorreo1,Pprefijo);
if(lista != null){
return Json(true);
}
else{
return Json(false);
}
}
在视图中,如果方法返回 false,我想设置按钮类“btn btn-xs”,如果返回 true,则设置“btn btn-xs btn-info”。
$(document).ready(function () {
function tieneNotificacion(Nombre,Correo1,Prefijo){
$.ajax({
type: "POST",
url: "/CentralSoluciones/TieneNotificacion",
data: { Pnombre: Nombre,
Pcorreo1: Correo1,
Pprefijo: Prefijo },
success: function (data) {
if (data) {
return "btn btn-xs btn-info"
}
else {
return "btn btn-xs"
}
}
});
}
});
而html标签是这样的:
<a href="@Url.Action("Detalles", new { Pnombre= item.Nombre, Pcorreo1=item.Correo1, Pprefijo=list.Prefijo })"
class=tieneNotificacion(@item.Nombre,@item.Correo1,@list.Prefijo)>
<span>@list.Prefijo</span>
</a>
【问题讨论】:
-
通过javascript函数定义HTML类; javascript 函数通过 Ajax 调用 ActionResult 并定义要设置为按钮的类的类型
-
换句话说,如果 Url.Action 返回带有数据的视图,我希望看到按钮颜色为蓝色,如果没有数据,则颜色为灰色,对不起我的英语
-
你会发布你的按钮吗?
标签: c# ajax model-view-controller razor