私はこの問題で頭がいっぱいです。「CMS のような」Web サイトに AjaxControltoolkit の SlideShowExtender を使用したいのですが、「ajaxcontroltoolkit.slideshowextender オブジェクト参照がオブジェクトのインスタンスに設定されていません。ajaxcontroltoolkit.slideshowextender.oninit(eventargs e)」私はマスターページを使用しており、デフォルト ページに scriptmanagerproxy を含め、PDAP.master マスターページに takeitscriptmanager を含めました。これがコードです。これはラフ ドラフトであり、構想段階にすぎません。
PDAP.マスター
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="PDAP.master.cs" Inherits="PDAP" %> Transitional//EN" " http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd ">
<title></title>
<form id="form1" runat="server"> <ajax:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="~/Slideshow.asmx" /> </Services> </ajax:ToolkitScriptManager> <asp:ContentPlaceHolder id="HeadContent" runat="server"> PDAP </asp:ContentPlaceHolder> <div> <div id="centercontent" > <asp:ContentPlaceHolder id="CenterContent" runat="server" > CenterContent </asp:ContentPlaceHolder> </div> <div id="rightcontent"> <asp:ContentPlaceHolder ID="RightContent" runat="server"> RightContent </asp:ContentPlaceHolder> </div> <div id="leftcontent"> <asp:ContentPlaceHolder ID="LeftContent" runat="server" > LeftContent </asp:ContentPlaceHolder> </div> </div> </form>
default.aspx <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/PDAP.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="CenterContent">
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server" ProfileService-Path="~/Slideshow.asmx">
<Services >
<asp:ServiceReference Path="~/Slideshow.asmx" InlineScript="false" />
</Services>
</asp:ScriptManagerProxy>
Default page with Slideshow
<ajax:SlideShowExtender ID="SlideShowExtender1"
runat="server"
Loop="true"
SlideShowAnimationType="SlideRight"
PlayInterval="4000"
SlideShowServiceMethod="GetSlides"
SlideShowServicePath="Slideshow.asmx" >
</ajax:SlideShowExtender>
<asp:Image ID="imgslides"
runat="server" />
</asp:Content>
Web サービス - Slideshow.cs
システムを使用する; System.Collections.Generic の使用; System.Linq を使用します。System.Web の使用; System.Web.Services を使用します。
/// /// スライドショーの概要 /// [WebService(Namespace ="http://microsoft.com/webservices/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] // この Web サービスでASP.NET AJAX を使用してスクリプトから呼び出されるようにするには、次の行のコメントを解除します。[System.Web.Script.Services.ScriptService] public class Slideshow : System.Web.Services.WebService {
public Slideshow () { //Uncomment the following line if using designed components //InitializeComponent(); } [System.Web.Services.WebMethod] [System.Web.Script.Services.ScriptMethod] public AjaxControlToolkit.Slide[] GetSlides() { string[] imagenames = System.IO.Directory.GetFiles(Server.MapPath("~/Images")); AjaxControlToolkit.Slide[] photos = new AjaxControlToolkit.Slide[imagenames.Length]; for (int i = 0; i < imagenames.Length; i++) { string[] file = imagenames[i].Split('\\'); photos[i] = new AjaxControlToolkit.Slide("Images/" + file[file.Length - 1], file [file.Length - 1], ""); } return photos; }
}
私は例を取り、これを使用して学習していましたが、コードは IIS にアクセスできない開発サーバー上にあります。
見て、私が間違っていることを見てください。