如何在 C# 中使用警报消息来处理成功消息?
Posted
技术标签:
【中文标题】如何在 C# 中使用警报消息来处理成功消息?【英文标题】:How todo a success message with a alert message in c#? 【发布时间】:2021-09-23 19:35:00 【问题描述】:我遇到了警报框的问题。我正在尝试做的是在我调用 c# 并且该函数可以正常工作之后,它会发出一条成功消息。但实际情况是,它会在一个全新的页面中发送成功消息。
public async Task<JsonResult> Upload(IList<IFormFile> files)
//does my stuff
string msg = "Succesfully uploaded";
return Json(new Message = msg );
这是我做的脚本。
function Function()
$.ajax(
url: "home/Upload",
data: "hello",
processData: false,
contentType: false,
type: "POST",
success: function (data)
alert(data);
)
这里是视图:
@using (html.BeginForm("Upload", "home", FormMethod.Post, new enctype = "multipart/form-data" ))
<input asp-file="file" id="files" name="file" onchange="CallFunction('files')" type="file" />
<input type="submit" name="Submit" id="Submit" onclick="Function" style="display:none" />
【问题讨论】:
能否也分享一下视图(.cshtml) sn-p。 是的,我可以分享它 【参考方案1】:所以你需要把你的提交按钮改成这个
<input type="button" value="Submit" onclick="Function()" name="Submit" id="Submit"/>
您可以看到我已将 type="submit" 更改为 type="button"。
您还可以删除 BeginForm 语法,因为您将使用 ajax 提交表单
这里是提交post请求的脚本
function Function()
$.ajax(
url: "/Home/Upload",
data: "hello",
processData: false,
contentType: false,
type: "POST",
success: function (data)
alert(data);
)
【讨论】:
【参考方案2】:您必须使用 Ajax 发布表单。使用您的代码,整个页面将被发布到服务器。
改变观点:
@using (Html.BeginForm("Upload", "home", FormMethod.Post, new enctype = "multipart/form-data" ,id = "uploadForm"))
<input asp-file="file" id="files" name="file" onchange="CallFunction('files')" type="file" />
<input type="submit" name="Submit" id="Submit" onclick="Function" style="display:none" />
添加部分脚本
@section scripts
<script>
$("#uploadForm").submit(function(e) // note that it's better to use form Id to select form
e.preventDefault(); // here you stop submitting form
uploadFile();
);
function uploadFile()
$.ajax(
url: "home/Upload",
data: "hello",
processData: false,
contentType: false,
type: "POST",
success: function(data)
alert(data);
)
</script>
【讨论】:
【参考方案3】:您正在向控制器发送错误类型的数据。你正在发送一个“字符串”,而 url:“home/Upload”也错了,必须是 url:“/home/Upload”
【讨论】:
【参考方案4】: function Function(inputId)
var input = document.getElementById(inputId);
var files = input.files;
var formData = new FormData();
for (var i = 0; i != files.length; i++)
formData.append("files", files[i]);
$.ajax(
url: "/home/Upload",
data: formData,
processData: false,
contentType: false,
type: "POST",
success: function (data)
alert(data);
);
【讨论】:
以上是关于如何在 C# 中使用警报消息来处理成功消息?的主要内容,如果未能解决你的问题,请参考以下文章