Надеюсь, я понял ваш вопрос.
Вы устанавливаете свой элемент Selected_Character в обработчике команд, а затем задаете класс кнопки, чтобы выделить его.Это срабатывает только при нажатии кнопки, а не при переходе на следующую страницу.Почему бы не разделить эти две операции.Установите класс кнопки ссылки на prerender, если Selected_Character совпадает.Таким образом, даже если вы перейдете на страницу, кнопка ссылки останется выделенной.
Я бы также установил ваш выбранный символ в качестве параметра строки запроса, если кто-то скопирует и вставит ссылку на вашу страницу, кнопка не будет выделена, и правильнаяданные не будут отображаться.
Надеюсь, что это поможет.
Редактировать: не проверял ниже, но, возможно, это поможет вам начать.
void lbtnCharacter_Command(object sender, CommandEventArgs e)
{
// redirect to self with tag as qs parameter
Response.Redirect(string.Format("{0}?tag={1}", Request.Url.GetLeftPart(UriPartial.Path), e.CommandArgument));
}
protected void Page_PreRender(object sender, EventArgs e)
{
if (Request.QueryString["tag"] != null) {
LinkButton lbtnSelected = (LinkButton)divAlphabets.FindControl("lbtnCharacter" + Request.QueryString["tag"]);
lbtnSelected.CssClass = "firstCharacter highlighted";
}
}
NB Вы также будетенеобходимо изменить свой BindTagList, чтобы использовать строку запроса также.Я предполагаю, что вы вызываете это в событии загрузки страницы.