日期:2014-05-18  浏览次数:20481 次

一个dropdownlist的简单问题,急!!!
页面上有一个dropdownlist,绑定到table1,DataTextField为网站名称,DataValueField为网站地址,当用户选择了其中一行后,打开一个新窗口,该窗口的url是DataValueField的值,我的代码如下:

protected void ddlLjcs_SelectedIndexChanged(object sender, EventArgs e)
{
  Type csType = this.GetType();
  ClientScriptManager cs = Page.ClientScript;
  string csName = "OpenLink1";
  string csText = "<script type=text/javascript>window.open('" + ddlLjcs.SelectedValue + "');</script>";  
  cs.RegisterClientScriptBlock(csType, csName, csText, false); 
}

————————————————————————————————————————————

该代码执行后有一个问题,即选择dropdownlist的一行后,以后只要刷新页面,就会自动打开一个新窗口,该窗口的url是dropdownlist的DataValueField的值。这个问题该如何解决?


------解决方案--------------------
.net 的postback机制,似乎只要有pastback,刷新就会再重复执行一次,如点button,刷新再点确定.
页面套一层updatepanel就不会.
------解决方案--------------------
在你的page_load事件中试试加上
C# code

if(!IsPostBack)
{
    Response.Expires = 0;
}

------解决方案--------------------
你向 Page 对象注册客户端脚本,每次刷新都会启用这个脚本的吧
你想选择一下弹出一个页面可以用
response.write(csText)来实现