2011-08-14 14 views
0

このコードを記述しましたが、属性をマークアップに追加できませんでした。何が問題ですか?あなたが本当に欲しいのおかげDataListを強調表示する際の問題

protected void Page_Load(object sender, EventArgs e) 
{ 
    PycDBDataContext db = new PycDBDataContext(); 
    IEnumerable<seller_profile> profs = from rows in db.seller_profiles select rows; 
    ProfilesView.DataSource = profs; 
    ProfilesView.ItemCreated += new DataListItemEventHandler(ProfilesView_ItemCreated); 
    ProfilesView.DataBind(); 
} 

void ProfilesView_ItemCreated(object sender, DataListItemEventArgs e) 
{ 
    e.Item.Attributes.Add("OnMouseOver", "this.style.backgroundColor = 'lightblue';"); 
} 

答えて

3

ItemDataBoundイベントではなくItemCreatedイベントです。

このように書き直しても問題ありません。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     DataList ProfilesView; 
     PycDBDataContext db = new PycDBDataContext(); 
     IEnumerable<seller_profile> profs = from rows in db.seller_profiles select rows; 
     ProfilesView.DataSource = profs; 
     ProfilesView.ItemDataBound += new DataListItemEventHandler(ProfilesView_ItemDataBound); 
     ProfilesView.DataBind(); 
    } 
} 

private void ProfilesView_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     e.Item.Attributes.Add("onmouseover", "this.style.backgroundColor = 'lightblue';"); 
     e.Item.Attributes.Add("onmouseout", "this.style.backgroundColor = 'white';"); 
    } 
} 
+1

+1;それは絶対正しい方法です。 –

関連する問題