2009-09-24 37 views
0

我目前有两个问题阻止我正确完成两个项目。我会把它们都放在这里,因为我相信它们连接到了asp.net页面的生命周期,但是我无法找到解决它们的方法。回发数据绑定问题

首先我有我必须在代码隐藏排序一个DropDownList。它仅包含文本,所以我应该能够做到这一点与调用页面加载下面的方法:

 
     Dim alist As ArrayList = New ArrayList 

     For Each litem As ListItem In ltEsittelyDropDownList.Items 
      alist.Add(litem.Text) 
     Next 

     alist.Sort() 

     Dim uusiDDList As New DropDownList 

     For i As Integer = 0 To alist.Count - 1 
      Dim litem As New ListItem 
      litem.Text = alist(i).ToString 
      litem.Value = alist(i).ToString 
      uusiDDList.Items.Add(litem) 

      ' Response.Write(alist(i).ToString) 
     Next 

     ltEsittelyDropDownList = uusiDDList 
     ltEsittelyDropDownList.DataBind() 

正如你所看到的,那里面有一个评论的Response.Write,这显示了列表排序的实际。那么为什么当我加载页面时,我看不到任何效果?

另一个问题,这是更关键和困难的,如下:

在aspx页面我结合SQL Server 2005的数据源到GridView。在代码隐藏中,我接触到了RowDataBound事件,在该事件中,我处理了gridviews单元格内的一些链接和属性。但是我不能在第一次加载页面时才能使用它,只能在第一次额外的回发之后。

那么,该怎么办?并感谢所有前面的建议!

回答

1

你的第一个问题是在手动填充的控件上调用DataBind。您可能在控件声明中指定了一个DataSource,它在调用DataBind时使用。另外

For i As Integer = 0 To alist.Count - 1 
    ltEsittelyDropDownList.Items.Add(New ListItem(alist(i).ToString()) 
Next 

,你有一集已经,你可以把它绑定到控制:您可以只需添加列表项到原来的控制简化代码

ltEsittelyDropDownList.DataSource = alist 
ltEsittelyDropDownList.DataBind() 

为了您的第二个问题,一些示例代码会有所帮助 - 具体而言,控件是数据绑定的位置和方式以及RowDataBound中的代码。

+0

嘿,有些错误。使用你的第一个建议,它工作得很好。谢谢一堆! – Zan 2009-09-29 06:44:32