슬라이드 쇼에서 호출해야하는 Div1 및 Div2라는 두 세트의 이미지가 있습니다. 조건은 이렇습니다.
처음 7 일 동안은 첫 번째 Div 이미지 세트가 슬라이드 쇼에 표시되기를 원합니다. 7 일이 완료되는 즉시 다음 Div 이미지 세트가 표시되어야합니다. Timer Control을 통해 가능하다는 것을 알고 있습니다 . 하지만 지금까지 사용하지 않았습니다.
표에서 슬라이드 쇼의 이미지를 호출했기 때문에 지금까지 공유 할 코드가 없습니다. 다른 것이 필요하면 알려주세요.
도와주세요. 사용할 수 있도록
어떤 도움이라도 감사 할 것입니다
슬라이드 쇼에 대한 내 코드는 다음과 같습니다.
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultSQLConnectionString"].ConnectionString);
SqlDataAdapter da = new SqlDataAdapter("SELECT Name FROM tblImages", conn);
DataTable dt = new DataTable();
da.Fill(dt);
rptImages.DataSource = dt;
rptImages.DataBind();
Page.Header.DataBind();
}
aspx 코드 :-
<div class="imgbanner-login" style="margin-bottom: 10px;">
<div class="img-login-ca">
<div class="index-img-banner">
<div id="slider" class="nivoSlider">
<asp:Repeater ID="rptImages" runat="server">
<ItemTemplate>
<li style="list-style: none;">
<img alt="" src='<%# Eval("Name") %>' />
</li>
</ItemTemplate>
</asp:Repeater>
</div>
</div>
<div class="login">
<uc1:indexrightpanel runat="server" id="indexRightPanel" />
</div>
</div>
</div>
db strucutre도 참조하십시오.
ID int 선택 취소
이름 nvarchar (MAX) 선택
[주문] int 확인 됨
이름 열은 이미지 경로로 구성됩니다.
다음은이 요구 사항을 처리하는 방법에 대한 아이디어를 보여주기 위해 설정 한 작은 데이터베이스입니다.
CREATE TABLE [dbo].[SetTable] (
[SetId] INT IDENTITY (1, 1) NOT NULL,
[SetName] VARCHAR (10) NOT NULL,
PRIMARY KEY CLUSTERED ([SetId] ASC)
);
Go
INSERT INTO SetTable values ('A'), ('B');
GO
CREATE TABLE [dbo].[SetShowLog] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[SetId] INT NOT NULL,
[LastShown] DATETIME DEFAULT (getdate()) NOT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_SetShowLog_SetTable] FOREIGN KEY ([SetId]) REFERENCES [dbo].[SetTable] ([SetId])
);
Go
CREATE TABLE [dbo].[ImageTable] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] VARCHAR (25) NULL,
[SetId] INT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC),
CONSTRAINT [FK_ImageTable_SetTable] FOREIGN KEY ([SetId]) REFERENCES [dbo].[SetTable] ([SetId])
);
Go
Insert into ImageTable ([Name], [SetId]) values
('image1.jpg', 1),
('image2.jpg', 1),
('image3.jpg', 2),
('image4.jpg', 2);
go
CREATE PROCEDURE [dbo].[GetImages]
AS
declare @logId int;
--get the last shown set
select @logid = IDENT_CURRENT('SetShowLog');
declare @setid int;
declare @lastShowDate datetime;
declare @now datetime;
set @now = GETDATE();
select
@setid = setid,
@lastShowDate = LastShown
from SetShowLog
where Id = @logId;
if @@ROWCOUNT = 0
begin
--this is first insert into the log table
insert into SetShowLog(SetId) values (1);
set @setid = 1; --we show set A as default
end
else
begin
if( DATEDIFF(dd, @lastShowDate, @now) > 7 ) --seven day check
begin
--change the set
select @setid = case @setid when 1 then 2
when 2 then 1 end;
--update log
insert into SetShowLog(SetId) values (@setid);
end
end --//end of @@rowcount check
select * from ImageTable where SetId = @setid;
RETURN 0
Visual Studio에서 새 데이터베이스 파일을 시작하고 스크립트를 실행하여 db를 초기화 할 GetImages
수 있습니다. 저장된 proc 구현을 확인합니다 .
이를 통해 요구 사항에 따라 이미지를 쿼리 할 수 있습니다. 저장된 proc을 호출하기 만하면 Timer 포스트 백에서 코드 자체를 재사용 할 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다