DropDownList在绑定数据源控件后,该如何设置选中项呢
我按以下方法未能实现,我的代码如下:
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource1"
                DataTextField
="subject" DataValueField="id" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            
</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:strconn %>"
            SelectCommand
="SELECT [id], [subject] FROM [web_about]"></asp:SqlDataSource>

CS文件中来设置选中项:
protected void Page_Load(object sender, EventArgs e)
    
{
        
if (!IsPostBack)
        
{
         string id=Request.QueryString["id"];
            DropDownList1.SelectedIndex 
= DropDownList1.Items.IndexOf(DropDownList1.Items.FindByValue(id));
        }

    }


protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    
{
        Response.Redirect(Request.Path 
+ "?id=" + DropDownList1.SelectedItem.Value);
    }
但以上的方法在不绑定数据源的情况下正常:
<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
                    AutoPostBack="True">
                    <asp:ListItem Value="1">选项一</asp:ListItem>
                    <asp:ListItem Value="2">选项二</asp:ListItem>
                </asp:DropDownList>
由于初学.NET,不知是什么原因?
posted on 2007-05-06 10:38 不惊了 阅读(873) 评论(3)  编辑 收藏 所属分类: ASP.NET

  回复  引用    
2007-05-06 10:45 | 幻想曲 [未注册用户]
用DropDownList中隐藏的SelectedValue来解决
http://www.lemongtree.com/Archives/2006/07/28/0000451.aspx

ps.你的鸟窝不开了?
  回复  引用  查看    
2007-05-06 10:47 | 不惊了      
不开了,呵呵呵...
  回复  引用  查看    
2007-05-06 10:57 | 不惊了      
谢了,终于搞定了,加了这一句SelectedValue="<%# id %>"就行了

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-12-10 13:59 编辑过


相关链接: