JQuery-UI: как предварительно выбрать конкретную вкладку в зависимости от того, из какого представления пришел пользователь?

Допустим, у меня есть представление страницы с именем "PagePreview.aspx". на этой странице я разместил виджет вкладки пользовательского интерфейса с 3 вкладками: вкладка 1, вкладка 2 и вкладка 3. на каждой вкладке есть ссылка, которая ведет на разные страницы сайта.

Когда пользователь получает доступ к PagePreview, я бы хотел, чтобы вкладка была предварительно выбрана в зависимости от представления, из которого он пришел. Например, если пользователь пришел из DetailsOfProducts.aspx, то "вкладка ProductsSummary" должна быть выбрана при загрузке pagePreview.aspx. Если он скорее исходит из DetailsOfClient.aspx, то следует выбрать вкладку «ClientsSummary» и так далее.

Как это сделать с помощью JqueryUI?

Чтобы упростить задачу, я добавил в свою модель свойство

public string PageOfOrigin { get; set; }

Трудность состоит в том, чтобы получить значение этого свойства и иметь возможность использовать его значение. Спасибо за помощь


person Richard77    schedule 25.08.2010    source источник


Ответы (1)


Вы можете выплевывать переменные .NET в сценарии, расположенные в представлении.

var tabsOpts = {
    selected:  getTabIndex('<%= html.encode(model.PageOfOrigin) %>')
};
$("#myTabs").tabs(tabsOpts);  

Однако индексы вкладок основаны на целых числах, поэтому вам нужно будет преобразовать исходную страницу в правильный целочисленный (на основе 0) индекс соответствующей вкладки, если вы используете PageOfOrigin как строку.

function getTabIndex(originPage){
   switch (originPage){
      case "DetailsOfProducts.aspx":
          return 0;
      break;
      case "DetailsOfClient.aspx":
          return 1;
      break;
      default:
          return 0;
      break;
   }
}
person Tommy    schedule 25.08.2010
comment
Это было проще, чем я ожидал. Я проверю и вернусь сюда. - person Richard77; 25.08.2010