jquery异步调用post的一些注意事项

93 篇文章 0 订阅

1.aspx网页,只要放在form标签的html按钮标签 input的type="submit",则无论form是否添加 runat="server",点击它,都会像服务器控件一样触发回发给后的.cs文件处理

例如

 <form id="form1">
    <div>
      <input class="subBtn" type="submit" />
    </div>
</form>

 

2.要使得在aspx网页中不回发给后台,则应采用

<form id="form1"> 
  <div> 
    <input class="subBtn" type="button" /> 
  </div>
</form>

使用这种方式才能被页面内的jquery得到并采用post等异步方式传送数据到指定后台

 

3.asp.net中的<asp:label>标签最终在浏览器端表现的是<span>标签形式,如将传回的数据赋给它或从它那里得到数据,需要使用$("").text()方式;

  asp.net中的<asp:TextBox>标签最终在浏览器端表现的是<input>标签形式,如将传回的数据赋给它或从它那里得到数据,需要使用$("").val()方式;

  最后表现形式可以在生成页面查看源代码来得到

 

4.调试:我的调试方式是 visual studio 加.cs代码断点+firefox的firebug断点的方式,两者可以协同配合,例如,点击input类型为button标签,调用后台的加入断点的ashx文件,跳过断点后,可进入在firebug中的断点,进行调试

(微软等浏览器使用过,但感觉还是不如firefox的firebug好用,至少在查看布局和相关的css等方面后者更好用)

 

5.如在ashx文件中使用到session的,则要进行特别的处理

在这里引用一篇文章:

 

在一般事务处理页面,可以轻松的得到 Request,Response对象,从而进行相应的操作,如下:

HttpRequest Request = context.Request; 

HttpResponse Response = context.Response;

但是要得到 Session的值就没有那么简单了。比如你要在ashx得到保存在Session中的登录帐号Session["userAccount"]

如果你只是context.Session["userAccount"]的话是会报 “未将对象引用设置到对象的实例”的异常

所以,如果要想取Session中的值 ,需要如下所示

1、引入 命名空间:

using System.Web.SessionState;

2、实现IRequiresSessionState接口,具体如下  

    /// <summary>
    /// $codebehindclassname$ 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class AddUserInfo : IHttpHandler,IRequiresSessionState //就是这样显示的实现一下,不用实现什么方法
    {

        public void ProcessRequest(HttpContext context)
        {

      //...

       //这样你就可以如下 操作了

                if(context.Session["userAccount"] != null)

      {

        string account = context.Session["userAccount"].ToString();

      }

      //...继续下面的代码

    }

  }

 

 

 



 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值