我有一个行动方法:
public ActionResult Export(int? protocol, int? visitno)
{
SetViewBagItems();
if(protocl.hasValue)
{
// code create file
if (!string.IsNullOrEmpty(csvData))
{
return File(new System.Text.UTF8Encoding().GetBytes(csvData), "text/csv", "Report.csv");
}
else
{
// need to show something in ui like, not able to create file, or any popup or any alert....
}
}
return view();
}
因此,在提到的代码中,我需要在创建文件时显示类似警报或消息的内容。
现在的行为是:
我需要显示一些消息而不是那个消息。
第一次加载页面使用相同的控制器方法。
我怎样才能做到这一点?
答案 0 :(得分:0)
使用$ .ajax()在控制器中调用该函数。喜欢:
$.ajax({
url: "/controller/action",
type: "GET",
data: {protocol: protocol, visitno: visitno},
success: function(e) {
if(e != null)
{
//Alert
}
else {
//Alert
}
}
})
答案 1 :(得分:0)
您可以从操作方法返回JSON
结果:
return Json(new {
success = true,
status = "Failure"
}, JsonRequestBehavior.AllowGet);
调用action方法的ajax方法,检查返回状态并在对话框中或通过警报显示错误或成功消息:
$.ajax({
type: "POST",
url: "/Controller/Action",
data: { "ID": $('#id').val() },
success: function (data) {
if (data.status == "Failure")
{
$('#dialog-Add-Success').dialog({
modal: true,
opacity: 1,
buttons: {
Ok: function () {
$(this).dialog('close');
}
},
})
}