Как использовать параметризованный вызов функции для расширителя слайд-шоу ajax? - PullRequest
1 голос
/ 09 сентября 2011

Я использую инструмент расширения слайд-шоу ajax ASP.NET для отображения слайд-шоу изображений.Я следовал видеоинструкции и взял ссылку отсюда .

У меня есть функция GetSlides, определенная как:

public AjaxControlToolkit.Slide[] GetSlides(string parms) {
-----
-----
}

На странице aspx мне нужно передатьзначение параметра, которое находится в строке запроса для этой страницы.Код, который я использовал для передачи параметра в функцию:

<ajax:SlideShowExtender ID="SlideShowExtender1" runat="server"
         AutoPlay="true" ImageDescriptionLabelID="lblImageDescription"
               Loop="true" NextButtonID="Btn_Next" PlayButtonID="Btn_Play" 
                PlayButtonText="Play" PreviousButtonID="Btn_Previous" 
                 SlideShowServiceMethod="GetSlides(<%= Request.QueryString["tempID"] %>)" StopButtonText="Stop"
                  TargetControlID="Image1">
</ajax:SlideShowExtender>

Однако это обеспечивает основную ошибку серверных конструкций: Server tags cannot contain <% ... %> constructs.

Я также проверил концепцию построителя выраженийиспользуя текст как: "<%$ AppSettings: FooText %>", через web.config.Но сам параметр является динамическим и не может быть сохранен в файле веб-конфигурации.Итак, как мне передать параметр querystring для функции GetSlides?

1 Ответ

2 голосов
/ 09 сентября 2011

Вы можете установить параметр из codebehind. Использовать свойство ContextKey:

SlideShowExtender1.ContextKey = Request.QueryString["tempID"];

Кроме того, ваш метод должен иметь подпись:

 public AjaxControlToolkit.Slide[] GetSlides(string contextKey)

Это все в документах.

...