首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

jQuery 调用用户控件后台方法失败,该如何处理

2012-03-17 
jQuery 调用用户控件后台方法失败JS代码JScript code$(#dialog).dialog({autoOpen: false,width: 700,mo

jQuery 调用用户控件后台方法失败
JS代码

JScript code
$('#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");}                     }               });


用户控件 后台方法
C# code
 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 "";    }



点击OK button 无反应,求教大家.....

[解决办法]
自己调试先一下,是否调用到了后台的方法???

出错的代码是那行??
[解决办法]
url: "ApplyControl.ascx/ApplyVacation",
这样可以直接访问这个方法么?

你还是先改成 url: "ApplyControl.ascx" 看看这个控件的Page_Load方法会不会执行。
[解决办法]
ApplyControl.ascx?method=ApplyVacation

context.Response.ContentType = "application/json";
string method = context.Request["method"];
switch (method)
{
case "login":
ApplyVacation(context);
break;
}
context.Request.Form["StrType"]

[解决办法]
在前台 输出 值 跟踪一下


[解决办法]
ascx 貌似是用ashx的吧 才可以访问吧
[解决办法]
调用ascx文件?这会得到404错误吧!我还是第一次看见有访问ascx文件的。

就算你访问aspx,也不可能是访问当前的页面啊。因为你的页面所有状态信息都在客户端,没有提交啊。也不可能提交。所以就算访问aspx文件,也是去访问一个什么状态数据都没有的初始化的aspx,跟当前页面状态没有联系,而且访问结果出错。所以与其访问需要花费巨大时间代价的aspx页面,还不如访问轻量级的ashx或者asmx。
[解决办法]
楼上sp1234说的非常详细,非常清楚了

你可以直接在浏览器输入你的ascx文件的路径,看看浏览器理不理你?ascx是不可能被直接调用,必须放到aspx页面才能运行。
它就像寄生虫一样,没有宿主(aspx)是无法独立存活的。
[解决办法]

探讨

调用ascx文件?这会得到404错误吧!我还是第一次看见有访问ascx文件的。

就算你访问aspx,也不可能是访问当前的页面啊。因为你的页面所有状态信息都在客户端,没有提交啊。也不可能提交。所以就算访问aspx文件,也是去访问一个什么状态数据都没有的初始化的aspx,跟当前页面状态没有联系,而且访问结果出错。所以与其访问需要花费巨大时间代价的aspx页面,还不如访问轻量级的ashx或者as……

热点排行