【发布时间】:2015-11-13 12:10:28
【问题描述】:
这是 JQuery 部分:
$(".btnGorevOlustur").click(function (e) {
var fileUpload = $(".fileGorevResim").get(0);
var files = fileUpload.files;
var dt = new FormData();
for (var i = 0; i < files.length; i++) {
dt.append(files[i].name, files[i]);
}
var gPanoID = id;
var gListeID = gorevListeID;
var gBaslik = $(".txtGorevBaslik").val();
var gAciklama = $(".txtareaGorevAciklama").val();
var gSure = $(".txtGorevSure").val();
dt.append("gpid", gPanoID);
dt.append("glid", gListeID);
dt.append("gbas", gBaslik);
dt.append("gacik", gAciklama);
dt.append("gsur", gSure);
if (gBaslik != null && gBaslik != "" && gAciklama != null && gAciklama != "" && gSure != null && gSure != "") {
$.ajax({
type: "POST",
url: "PanoHandler.ashx",
dataType: "json",
data: dt,
contentType: false,
processData: false,
});
e.preventDefault();
}
});
这是处理程序部分:
var gorevBaslik = context.Request.Form["gbas"];
var gorevAciklama = context.Request.Form["gacik"];
var gorevSure = context.Request.Form["gsur"];
var gorevPanoID = context.Request.Form["gpid"];
var gorevListeID = context.Request.Form["glid"];
var tarih = DateTime.Now.ToString("ddMMyyyyHHmmss");
if (context.Request.Files.Count > 0)
{
HttpFileCollection files = context.Request.Files;
for (int i = 0; i < files.Count; i++)
{
HttpPostedFile file = files[i];
string fname = context.Server.MapPath("~/img/panofoto/" + file.FileName + tarih);
file.SaveAs(fname);
sgFoto = file.FileName + tarih;
}
}
if (!String.IsNullOrEmpty(gorevBaslik) && !String.IsNullOrEmpty(gorevAciklama) && !String.IsNullOrEmpty(gorevSure))
{
var gorev = new Pano_Gorev
{
Baslik = gorevBaslik,
Aciklama = gorevAciklama,
GorevSuresi = gorevSure,
PanoID = Convert.ToInt32(gorevPanoID),
ListeID = Convert.ToInt32(gorevListeID),
Resim = sgFoto,
Olusturan = 1,
OlusturmaTarihi = DateTime.Now
};
dbo.Pano_Gorev.AddObject(gorev);
dbo.SaveChanges();
sresult = true;
context.Response.Write(sresult);
}
else
{
sresult = false;
context.Response.Write(sresult);
}
问题出在处理程序上,因为所有值都为空。
context.request.Form[..] //all coming as null.
我还尝试了以下方法:
context.request[..]
但这也不起作用。
我应该怎么做才能解决这个问题?
【问题讨论】:
-
你用的是什么浏览器?如果您满足developer.mozilla.org/en/docs/Web/API/… 的要求,请在此处查看。如果你不这样做,你将不得不使用表格去老学校
-
@LiviuBoboia 我正在使用 mozilla,我之前在另一个项目中使用过这些代码并且它有效。然而这一次行不通。 Ajax 可以很好地发布表单数据,没有问题,但是在处理程序上,我无法访问任何数据或值。
-
这很奇怪,你确定你上传元素的名字和id和context.Request.Form[...]的键匹配了吗?
-
@LiviuBoboia 是的,我查过了,这是真的。我认为 context.request.Form 不足以获取数据。我正在尝试一些随机的东西,例如 context.request.Form.GetValues (只是示例),但找不到任何东西。你能投票赞成这个问题吗?
-
context.Request.Form.Keys 中有什么东西