Javascript 如何在ASP.net MVC 3中成功上载文件后显示警报
现在我可以成功上传文件了。。。我现在要做的是,如果文件已成功上载,则显示一个警报框,如果文件未成功上载,则显示错误/异常警报 以下是我的看法:Javascript 如何在ASP.net MVC 3中成功上载文件后显示警报,javascript,asp.net-mvc-3,file-upload,jsonresult,Javascript,Asp.net Mvc 3,File Upload,Jsonresult,现在我可以成功上传文件了。。。我现在要做的是,如果文件已成功上载,则显示一个警报框,如果文件未成功上载,则显示错误/异常警报 以下是我的看法: using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { @id = "File", enctype = "multipart/form-data"})) { <div class="control-group">
using (Html.BeginForm("Upload", "Home", FormMethod.Post, new { @id = "File", enctype = "multipart/form-data"}))
{
<div class="control-group">
<input type="file" id="file" name="file" />
<input type="submit" value="Upload" />
</div>
}
我希望我的观点仍然是。。。没有重定向页面。。。只需显示消息的警报框…谢谢!任何想法都是非常感谢的,因为我知道我的这种方式是不推荐的…:) 这就是我从控制器获取警报所做的 以下是查看代码:
@using (@Html.BeginForm("DoSomething","secure"))
{
<input type="submit" value="get alert" />
}
@使用(@Html.BeginForm(“DoSomething”,“secure”))
{
}
以下是控制器代码:
[HttpPost]
public ActionResult DoSomething()
{
string message = "hai";
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("<script type = 'text/javascript'>");
sb.Append("window.onload=function(){");
sb.Append("alert('");
sb.Append(message);
sb.Append("')};");
sb.Append("</script>");
//return Content("<script type='text/javascript'>alert('Hello there');</script>"); //You can get the alert with this line also
return Content(sb.ToString(), "text/javascript");
}
[HttpPost]
公共行动结果DoSomething()
{
字符串消息=“hai”;
System.Text.StringBuilder sb=新的System.Text.StringBuilder();
某人加上(“”);
sb.Append(“window.onload=function(){”);
某人加上(“警告(”);
某人附加(信息);
某人加上(“)};”;
某人加上(“”);
//返回内容(“alert('Hello there');”;//您也可以使用此行获取警报
返回内容(sb.ToString(),“text/javascript”);
}
即使不需要脚本,当单击get alert
按钮时,它也会直接显示警报
希望能有所帮助我找到了正确的解决方案 上面的链接用于在提交表单之前显示确认框,并显示由我的控制器返回的json对象消息的警报
return Json(new { isok = true, message = "Successfully uploaded the calendar XML file!" }, "application/octet-stream");
你如何在不返回任何操作的情况下确定文件是否已成功上载?我在“此处的某些代码”部分中已处理过该问题。。。我现在的问题是如何显示警报框。。。(如果文件没有上传,我会在“某些代码部分”中自动抛出一个异常)取消注释
返回JavaScript(“警报('calendar XML文件上传成功!”);”
并尝试$.getScript(“/Controller/Action”,function(){alert('script-loaded');});})代码>在视图中抱歉,但是“返回JavaScript(“警报('calendar XML文件已成功上载!”);”;”;“只会将我重定向到一个页面并以纯html显示警报…可能您应该使用字符串生成器类System.Text.StringBuilder sb=new System.Text.StringBuilder();string message=“successfull”;某人加上(“”);sb.Append(“警报(”);sb.Append(消息);sb.Append(“)};”;某人加上(“”);返回JavaScript(sb.ToString())代码>你好,卡蒂克!感谢您的努力和支持。我找到了我需要的解决办法。我只需要返回一个内容类型为“application/octetstream”的json对象。Thx再次:)不,在这种情况下它不起作用。,+1感谢你的努力。
return Json(new { isok = true, message = "Successfully uploaded the calendar XML file!" }, "application/octet-stream");