int allControl = this.ListView1.Items[e.ItemIndex].Controls.Count;
for (int i = 0; i < allControl; i++)
{
this.Response.Write(this.ListView1.Items[e.ItemIndex].Controls[i].ClientID + "<br/>");
}
然後就可以找出欲取得值的控制項位置
this.SqlDataSourceActivityAlbumList.UpdateParameters["ActivityAlbumID"].DefaultValue = ((ImageButton)this.ListView1.Items[e.ItemIndex].Controls[1]).CommandArgument;
由於上面的方法會因控制項往後的位置變更又需要修改程式碼,
非常不好,所以改用FindControl(元素的id)是比較適合的
this.SqlDataSourceActivityAlbumList.UpdateParameters["ActivityAlbumTitle"].DefaultValue = ((TextBox)this.ListView1.Items[e.ItemIndex].FindControl("tbAlbumTitle")).Text;
this.SqlDataSourceActivityAlbumList.UpdateParameters["ActivityAlbumDesc"].DefaultValue = ((TextBox)this.ListView1.Items[e.ItemIndex].FindControl("tbAlbumDesc")).Text;
沒有留言:
張貼留言
留個話吧:)