Roadblocks utilizing ASP.NET 3.5 and ASP.NET AJAX - part 2

This is a continuation of the previous post. (http://anthony-yio.blogspot.com/2010/03/roadblocks-utilizing-aspnet-35-and.html)


ASP.NET Dropdownlist with tooltip

Problem: Although it might occur to everyone that dropdownlist when the text in it is too lengthy, there should have some tooltip to show the text in the dropdownlist like "any" combobox in Windows. But to your surprise, this feature does not come for free on ASP.NET 1.1, 2.0, 3.0, 3.5 or may be even 4.0.

Resolution:

(quote from - http://forums.asp.net/p/903935/994720.aspx)

I have search many solutions, some used JQuery, some use CSS and etc. But i do not like to mess around too much with the CSS and Javascript/JQuery for this sort of thing since i am doing MVP+Controller model. A little or non scripting is preferred.
Therefore, it is to add the title attribute to the item

Add a ondatabound="ApplyOptionTitles" event to your DropDownList control.

Then implement in code-behind (C#) as follows:

protected void ApplyOptionTitles(object sender, EventArgs e)
{
DropDownList ddl = sender as DropDownList;
if (ddl != null)
{
foreach (ListItem item in ddl.Items)
{
item.Attributes["title"] = item.Text;
}
}
}

Data bound controls

Problem: There is no dedicated function to refresh the content of the AJAX controls that bound to data source suppose if you have updated the records in the database. The only way is to reload the page which defeat the purpose of having AJAX.

Resolution: The original thought is to call databind or rebind function but it does not work. (Wonder what the use of having those functions then? Basically, it would check if there is any changes to data source "name", or else calling those functions do nothing.. duh...)

So, the workaround are below
1. Datasource set to null programmically and then call databind() and then set the datasource back to the original one and call databind() - Which look like a mess.

2. If you have control parameters or session parameters. Just reset those value like set to null and back to original value. This would work even on AJAX. - The slightly better way...

Comments

不論做什麼事,相信自己,別讓別人的一句話,把你擊倒。..................................................
死亡是悲哀的,但活得不快樂更悲哀。. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
文岳仲君 said…
好熱鬧喔 大家踴躍的留言 讓部落格更有活力..................................................

Popular posts from this blog

Clearcase check in/uncheck out all the checked out files script

MSSQL GROUP_CONCAT

Duplicating a local copy of project from TFS and making web software client factory to work