gpt4 book ai didi

c# - 添加jquery.unobtrusive-ajax.js引用后上传为空

转载 作者:太空狗 更新时间:2023-10-29 20:20:41 24 4
gpt4 key购买 nike

如果我不引用 jquery.unobtrusive-ajax.js 我可以在 Post 上获取附件。如果我引用它,它会给我 null。

<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>


@using (Ajax.BeginForm("Index", "ContactSubmission", new AjaxOptions{ InsertionMode = InsertionMode.Replace, HttpMethod = "POST", OnSuccess = "updateSuccess" },
new { enctype = "multipart/form-data",@class = "form-horizontal", role = "form" }))
{
///code here

[HttpPost]
public JsonResult Index(Contact contact)
{
if (ModelState.IsValid)
{
if (contact != null)
{
string attachment = string.Empty;
// HttpPostedFileBase Attachment
if (contact.Attachment != null) attachment = SaveFile(contact.Attachment);
......

如何处理?

最佳答案

我修改了 jquery.unobtrusive-ajax.js 来上传文件。第一次修改:

$(document).on("submit", "form[data-ext=true]", function (evt) {
var clickInfo = $(this).data(data_click) || [],
clickTarget = $(this).data(data_target),
isCancel = clickTarget && clickTarget.hasClass("cancel");
evt.preventDefault();
if (!isCancel && !validate(this)) {
return;
}
var formData;
if (this.enctype && this.enctype === "multipart/form-data") {
formData = new FormData(this);
} else {
formData = clickInfo.concat($(this).serializeArray());
}

asyncRequest(this, {
url: this.action,
type: this.method || "GET",
data: formData
});
});

第二次修改在asyncRequest中:

....
method = options.type.toUpperCase();
if (options.data instanceof FormData) {
options.processData = false;
options.contentType = false;
options.data.append("X-Requested-With", "XMLHttpRequest");

if (!isMethodProxySafe(method)) {
options.type = "POST";
options.data.append("X-HTTP-Method-Override", method);
}
} else {
options.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" });

if (!isMethodProxySafe(method)) {
options.type = "POST";
options.data.push({ name: "X-HTTP-Method-Override", value: method });
}
}
...

关于c# - 添加jquery.unobtrusive-ajax.js引用后上传为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com