如何使用参数化函数调用ajax幻灯片扩展程序?

时间:2011-09-09 19:30:55

标签: c# asp.net ajax web-services slideshow

我正在使用ASP.NET ajax幻灯片扩展程序工具来显示图像幻灯片。我按照视频教程进行了参考from here

我将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检查了表达式构建器概念。但该参数本身是动态的,不能存储在Web配置文件中。那么我应该如何传递GetSlides函数的查询字符串参数?

1 个答案:

答案 0 :(得分:2)

您可以从codebehind设置参数。使用ContextKey属性:

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

此外,您的方法必须具有签名:

 public AjaxControlToolkit.Slide[] GetSlides(string contextKey)

一切都在文档中。