I have an ASP.NET Image control declared as:
<asp:Image runat="server" ID="SortOrder"
AlternateText="Ascending"
ImageUrl="~/images/sort_ascending.gif"
CssClass="Ascending"
EnableViewState="true"
/>
My JavaScript code is:
function ReverseSort() {
var img = window.event.srcElement;
if(img.className == "Ascending") {
img.className = "Descending";
img.alt = "Descending";
img.src = "<%= ResolveClientUrl("~/images/sort_descending.gif") %>";
} else {
img.className = "Ascending";
img.alt = "Ascending";
img.src = "<%= ResolveClientUrl("~/images/sort_ascending.gif") %>";
}
}
I have added an "onclick" attribute to the Image control in my Page_Load code-behind like so:
protected void Page_Load(object sender, EventArgs e) {
if (IsPostBack)
return;
SortOrder.Attributes.Add("onclick", "ReverseSort()");
}
This is my SortOrder.OnClick event for my Image Control:
if (SortOrder.AlternateText == "Ascending") {
/* Sort ascending */
} else {
/* Sort descending */
}
My problem is, the SortOrder.AlternateText is always "Ascending". My code-behind doesn't seem to recognized the changes to the properties made by my javascript.