jQuery 调用用户控件后台方法失败
JS代码
$('#dialog').dialog ( { autoOpen: false, width: 700, modal: true, buttons: { "Ok": function() { //校验输入项// if (!valDialog(this))// return; var sType=$(".ApplyControl_ddlType").val(); var sFromDate=$(".ApplyControl_fromdatepicker").val(); var sFromHours=$(".ApplyControl_ddlTimeF").val(); var sToDate=$(".ApplyControl_todatepicker").val(); var sToHours=$(".ApplyControl_ddlTimeT").val(); var sDays=$(".ApplyControl_tbday").val(); var sHours=$(".ApplyControl_tbhours").val(); var sRemark=$(".ApplyControl_remark").val(); $.ajax ({ type: "post", contentType: "application/json;charset=utf-8", url: "ApplyControl.ascx/ApplyVacation", //data: "{StrType:'" + sType + "', StrFromDate:'" + sFromDate + "'}", data: "{StrType:'" + sType + "', StrFromDate:'" + sFromDate + "',StrFromHour:'" + sFromHours + "',StrToDate:'" + sToDate + "', StrToHour:'" + sToHours + "', StrDays:'" + sDays + "', StrHours:'" + sHours + "', StrRemark:'" + sRemark + "'}", dataType: "json", success: function (result) { alert(result.d); if(result.d==""){$this.dialog("close");alert("#");} else {alert(result.d);} }, }); }, "Cancel": function () { $(this).dialog("close");} } }); public static string ApplyVacation(string StrType, string StrFromDate, string StrToDate,string StrFromHour,string StrToHour, string StrDays,string StrHours, string StrRemark) { new ITDateClient().InsertVacation(StrType, StrFromDate, StrToDate, StrFromHour, StrToHour, StrDays,StrHours,StrRemark); return ""; }
[解决办法]
ascx 貌似是用ashx的吧 才可以访问吧
[解决办法]
调用ascx文件?这会得到404错误吧!我还是第一次看见有访问ascx文件的。
就算你访问aspx,也不可能是访问当前的页面啊。因为你的页面所有状态信息都在客户端,没有提交啊。也不可能提交。所以就算访问aspx文件,也是去访问一个什么状态数据都没有的初始化的aspx,跟当前页面状态没有联系,而且访问结果出错。所以与其访问需要花费巨大时间代价的aspx页面,还不如访问轻量级的ashx或者asmx。
[解决办法]
楼上sp1234说的非常详细,非常清楚了
你可以直接在浏览器输入你的ascx文件的路径,看看浏览器理不理你?ascx是不可能被直接调用,必须放到aspx页面才能运行。
它就像寄生虫一样,没有宿主(aspx)是无法独立存活的。
[解决办法]