如何在Ajax SlideShowExtender中动态添加图像
本文关键字:动态 添加 图像 SlideShowExtender Ajax | 更新日期: 2023-09-27 18:06:41
我正在使用Slideshow扩展器动态创建一个幻灯片。我的web服务代码是:-
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static AjaxControlToolkit.Slide[] GetSlides()
{
AjaxControlToolkit.Slide[] slides = new AjaxControlToolkit.Slide[tblData.Tables[Count_w].Rows.Count];
for (int i = 0; i < tblData.Tables[Count_w].Rows.Count; i++)
{
DataRow dr = tblData.Tables[Count_w].Rows[i];
slides[i] = new AjaxControlToolkit.Slide(dr["imgurl"].ToString(), dr["header"].ToString(), dr["descr"].ToString());
}
Count_w++;
return slides;
}
关于为什么会发生这种情况的任何线索。我试过在web服务中包括硬编码,它是有效的。工作代码:-
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static AjaxControlToolkit.Slide[] GetSlides()
{
return new AjaxControlToolkit.Slide[] {
new AjaxControlToolkit.Slide("Help/1.png", "Add new server", "Login on server"),
new AjaxControlToolkit.Slide("Help/2.png", "Add new server", "Login success"),
new AjaxControlToolkit.Slide("Help/3.png", "Add new server", "Create new user"),
new AjaxControlToolkit.Slide("Help/4.png", "Add new server", "Test user")};
return slides;
}
谁能告诉我为什么动态人口不工作?其中两个方法返回相同的结果。
通过删除额外的斜杠解决问题。
改变这个
dr["imgurl"].ToString()
,
dr["imgurl"].ToString().Replace("''", "/")
更新代码[WebMethod]
public AjaxControlToolkit.Slide[] GetSlides(DataTable dt)
{
AjaxControlToolkit.Slide[] slides = new AjaxControlToolkit.Slide[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
slides[i] = new AjaxControlToolkit.Slide(dr["imgurl"].ToString().Replace("''", "/"), dr["header"].ToString(), dr["descr"].ToString());
}
return slides;
}