The culprit is that unless an actual form submit is fired, then IE will not save your autocomplete values. In my case, I am using linkbuttons and they do not fire a form submit.
A fix is to override the __doPostback javascript function to get autosave values to save.
Ex:
var theform;
if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
theform = document.forms["Form1"];
}
else {
theform = document.Form1;
}
// Override the base __doPostBack function
var orig_doPostBack = __doPostBack;
function pd_PostBack(Param1, Param2)
{
// If IE, we need to explicitly run AutoComplete
// so form values are remembered.
if (document.all)
{
window.external.AutoCompleteSaveForm(theform);
}
// Set back to original __doPostBack.
__doPostBack = orig_doPostBack;
__doPostBack(Param1, Param2);
}
__doPostBack = pd_PostBack;
I also had another jscript function that needed to be overidden as well:
// Override the base WebForm_DoPostBackWithOptions function.
var orig_WebForm_DoPostBackWithOptions = WebForm_DoPostBackWithOptions;
function pd_DoPostBackWithOptions(options)
{
// If IE, we need to explicitly run AutoComplete
// so form values are remembered.
if (document.all)
{
window.external.AutoCompleteSaveForm(theform);
}
// Set back to original WebForm_DoPostBackWithOptions.
WebForm_DoPostBackWithOptions = orig_WebForm_DoPostBackWithOptions;
WebForm_DoPostBackWithOptions(options);
}
WebForm_DoPostBackWithOptions = pd_DoPostBackWithOptions;
This solver the issue for me and was based (and tweaked for my instance) from a MSDN article highlighting the fact that the autosave values are only saved on a submit form.
Folks, this is an IE only issue.