问题描述
在我正在处理的 Web 应用程序中,有一个 ascx 用户控件,其代码隐藏具有以下代码实现。
public partial class Admin_Controls_PicturePicker : System.Web.UI.UserControl
{
public string Root
{
get
{
return ResolveClientUrl("~/");
}
}
public Relatedobject RelatedobjectType { get; set; }
public int RelatedobjectId { get; set; }
public string PictureListContainerId { get; set; }
protected void Page_Load(object sender,EventArgs e)
{
if (Request.RequestType == "POST" && Request.Form["action"] == "savePicture")
{
SavePicture();
}
}
}
当页面加载时,RelatedobjectId
被初始化为查询字符串参数。
在 ascx 中,我在按钮单击中完成了一个 ajax 帖子,该按钮将表单数据提交给代码隐藏。 ajax 实现是这样完成的:
var url = "/Admin/HotelDetails.aspx";
$.ajax({
type: "POST",url: url,contentType: false,processData: false,data: formData,success: function (responseText) {
if (responseText == "") {
$("#divAddPictureDialog").dialog("close");
reloadPictures();
}
else {
$("#spnPictureStatus").html(responseText);
}
}
});
但是虽然没有任何页面重新加载,也没有刷新页面的功能,但是当 ajax 发布完成时。 .cs 文件中的所有值都将被擦除。它们被设置为默认值。即:RelatedobjectId
变为 0
。
但是,表单数据中的值已正确提交。
但是,在 $("#frmPicture").ajaxSubmit({});
使用 jquery.form 库之前,没有这样的问题。
普通的 ajax 帖子和 ajaxSubmit 有什么问题?使用 ajax 帖子将值设置为默认值的原因可能是什么?可能的解决方法是什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)