通过浏览器地址栏传递参数

2017-04-18  本文已影响86人  BigbyLong

.net 页面传参方式总结

实现思路:获得参数值,在参数前追加相应字母进行标识,使用页面根据相应标识获取对应参数。

1.首先JavaScript写一个GoPageUrl方法,在该方法中调用RunSearch4方法:

GoPageUrl方法

release,areacity,areaprov是使用时传递的参数,通过对flag值的判断,获取相应的控件值;

2.控件的调用;

日期为release 省份为areaprov 地市为areacity 关键字搜索

关键字TextBox经过浏览器编译后为:id="ctl00_ContentPlaceHolder1_txtQuery",所以使用时应为$('#ctl00_ContentPlaceHolder1_txtQuery').get(0),因为不涉及数据绑定,数据只有一条,故参数均为空;

日期a标签经过浏览器编译后为:

因为是在repeater中,牵扯到数据绑定,重复加载ItemTemplate,还有省份,地市与之类似的,所以需要在调用GoPageUrl的时候传递两个参数,一个id,用于自己取值,一个类型(release),用于与省份,地市区分;

3.RunSearch4方法,该方法有4个参数,当前页面的url(url),查询条件(tObj),时间条件(sObj),省份条件(eObj),地市条件(uObj);在该方法中判断参数是否为空,或为特定值,非,则在条件前添加相应英文字母标识,存入参数集合,对含有中文的参数,需要对中文进行编码 Hexadecimal(tObj.value),然后将window.location改为原来的地址+参数集合+.html。

RunSearch4方法

4.Hexadecimal方法:

Hexadecimal方法对中文进行相应的编码处理

5.在使用页面获得相应参数值:

使用页面获得参数

6.在使用页面用Hexadecimal方法对中文字符进行解码:

Hexadecimal对进行过编码操作的中文字符解码

7.this.Request.QueryString,系统方法

获取地址栏中的字符串变量集合

8.去掉参数前的标识,如(_w哈哈哈),为(哈哈哈)

去掉参数标识。
上一篇 下一篇

猜你喜欢

热点阅读