asp.net DropDownList 控件下拉跳转问题..分多..只要能解答

来源:百度知道 编辑:UC知道 时间:2024/06/04 06:46:41
我用DropDownList做下拉跳转..在工程里没一点事...

string s,s1,s2,s3,s4;
if (System.Web.HttpContext.Current.Request.UrlReferrer.ToString().LastIndexOf("?") != -1)
{
s1 = System.Web.HttpContext.Current.Request.UrlReferrer.ToString().Substring(System.Web.HttpContext.Current.Request.UrlReferrer.ToString().IndexOf("?")+1);
s3 = s1.Substring(0, s1.IndexOf("="));
s4 = s1.Substring(s1.LastIndexOf("&") + 1);
s2 = s4.Substring(0,s4.IndexOf("="));
if (s3 != "nid")
{
if (s2 != "nid")
s = System.Web.HttpContext.Current.Request.UrlReferrer.ToString() + "&nid=" + ddlxx.SelectedValue;
else
s = System.Web.HttpContext.Current.Request.UrlReferrer.ToString().Substring(0, System.Web.HttpContext.Curr

System.Web.HttpContext.Current.Response.Redirect()在VS运行下是可以获取值的,但你离开了VS环境下就获取不到值;放到服务器上也获取不到;我也遇到这样的问题,后我的老大解决了啊,呵呵;
好像是要放到域里而且好像还要在WEB下运行才可以获取值吧,呵呵
如果不是,你还是查一下在什么环境下可以获得!呵呵

我按你的代码在我这边测试,没有发现执行不了的问题,
但是发现在我这边有这个问题:
System.Web.HttpContext.Current.Request.UrlReferrer.ToString() + "&nid=" + ddlxx.SelectedValue;
这个代码执行多遍后,这个nid会越来越多,就变成&nid=1&nid=2&nid=3等等,跳转还是没有问题的。

其实你的那些处理,放在JAVASCRIPT端做也可以,做成控件,控件里也可以有JAVASCRIPT的,还是那句话,能在客户端做不是更好,降低服务器负担,提高响应速度,用户的感觉也好。

汗,如果只是简单的跳转,不用找DROPDOWNLIST
直接用客户端的JAVASCRIPT就好了,还节约了一次往返服务器响应的时间
比如:
<select name=abc onchange="location.href='你的url?nid='+this.value;">
<option value="1">a</option>
</select>

直接js把,简单容易,我的项目里有个用户控件,直接这么写就成了
if (ViewState["js"] ==null)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "openwin", "<script>fun