如何在未创建文件时返回一些弹出窗口或消息或警报?

时间:2016-09-07 04:41:04

标签: c# asp.net-mvc

我有一个动作方法

public ActionResult Export(int? protocol, int? visitno)
{
    //creating file here
    if (!string.IsNullOrEmpty(csvData))
    {
        return File(new System.Text.UTF8Encoding().GetBytes(csvData), "text/csv", "Sample.csv");
    }
    if(no file created)
    {
        //need to do something 
    }
}

如果在方法中没有创建文件,我应该在同一页面中显示一些消息,如弹出窗口,警报或任何内容。 我尝试设置视图包并显示消息不正常...我能在这做什么?

我应该返回哪些信息?

1 个答案:

答案 0 :(得分:3)

你可以这样做,在你的控制器动作中,

public ActionResult Export(int? protocol, int? visitno)
{
    //creating file here
    if (!string.IsNullOrEmpty(csvData))
    {
        return File(new System.Text.UTF8Encoding().GetBytes(csvData), "text/csv", "Sample.csv");
        TempData["SuccessMessage"] = "Your success message here";        
    }

    if(no file created)
    {
       TempData["ErrorMessage"] = "Your error message here";
    }
}

然后你可以将它添加到你的视图中,(假设你使用的是bootstrap)

@if (!string.IsNullOrEmpty(TempData["ErrorMessage"].ToString()))
{
    <div class="alert alert-danger"><strong>Alert! </strong>@TempData["ErrorMessage"].ToString()</div>
}
@if (!string.IsNullOrEmpty(TempData["SuccessMessage"].ToString()))
{
    <div class="alert alert-success"><strong>Success! </strong>@TempData["SuccessMessage"].ToString()</div>
}