1、asp.net 的C#代码部分
‘[AjaxPro.AjaxMethod]’这句是关键,函数或方法写法没什么特别的地方,只是要使用这句声明这个函数是由AJAX.NET在页面异步请求的,总之记住要通过AJAX获得数据的后台函数就使用[AjaxPro.AjaxMethod]来声明一下。
另外,在AJAX.NET中如果处理函数需要对SESSION进行操作,‘[AjaxPro.AjaxMethod]’需要改成‘[AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]’在 [AjaxPro.AjaxMethod(AjaxPro.……)] 的‘……’部分ajax.net还提供了其他很多方法,可以处理一些特殊的请求。
还有一点注意,如果使用Application,直接读取或写入Application也是不行的,需要使用HttpContext.Current.Application,同样对 Request的访问也需要使用HttpContext.Current.Request。原因是直接使用的Application 或Request等 都是由Page类继承下来的,而用Ajax.net对后台方法访问的时候,这些方法并不属于Page类。但是Session比较特殊,使用 HttpContext.Current.Session仍然不能访问,必须使用上面一段所用的方法并且直接就用Session就行。
public partial class Jetflow : System.Web.UI.Page { protected void Page_Load(object sender,EventArgs e) { //注册ajax if (!Page.IsPostBack) { AjaxPro.Utility.RegisterTypeForAjax(typeof(V3WEB.htm.Test.Jetflow)); ----注册方式要写名命名空间 } Application["CompanyHtml"] = "hello"; } //获得显示公司的网页文件 [AjaxPro.AjaxMethod] public string getCompanyHtml() { string _companyname = "jetflow"; if (HttpContext.Current.Application["CompanyHtml"] != null) { _companyname = HttpContext.Current.Application["CompanyHtml"].ToString(); -----读写全局变量要用HttpContext.Current.Application方式 } return _companyname; }
//判断用户名密码是否正确 [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)] // 读写Session: 加上此句才可读写session public int isRight(string userID,string userPwd) { int count = 0; Comm_Grant_UserBLL obj = new Comm_Grant_UserBLL(); DataTable u = obj.getIsRight(userID,userPwd); if ( u.Rows.Count > 0) { Session["UserID"] = u.Rows[0]["UserID"].ToString(); -------写Session Session["UserName"] = u.Rows[0]["UserName"].ToString(); Session["Login"] = "Yes"; count = 1; } else { count = 0; } return count; } }
2、前台javascript部分(测试部分)
<head > <title></title> <script type="text/javascript"> function OpenHtml() { var companyhtml = V3WEB.htm.Test.Jetflow.getCompanyHtml().value; if (companyhtml == "jetflow") { document.getElementById("remark").innerHTML = "<b>"+"jetflow"+"</b>"; document.getElementById("mainform").innerHTML = '<iframe id="MainFrame" width="612" height="574" src="/htm/test/companyHtml.htm" frameborder="1" scrolling="no"></iframe>'; } else { document.getElementById("remark").innerHTML = "<b>" + companyhtml + "</b>"; document.getElementById("mainform").innerHTML = '<iframe id="MainFrame" width="612" height="574" src="/htm/homepage.htm" frameborder="1" scrolling="no"></iframe>'; } } //var readspeed = 40000; //读取转换页面时间 //var changeHtml = setInterval(OpenHtml,readspeed); //设置页面转换频率 </script> </head> <body> <form id="Form1" runat="server"> //必须要有这句,否择会说未定义 <div id="remark">123</div><div><input id="btnGet" type="button" value="获取" onclick="OpenHtml();" style="width: 75px" class="btn"/></div> <div id="mainform"></div> </form> </body> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|