我使用bootstrap carousel幻灯片,它是从后面的代码动态创建的。我想添加一个按钮(删除)来删除幻灯片放映中当前显示的图像。
问题在于,当我想从SlideShow访问Html图像源(Src)时,它将无法访问(它是空的)。
我的代码如下所示: Default.aspx的
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<triggers>
<asp:PostBackTrigger ControlID="btnDeleteImage" />
</triggers>
<ContentTemplate>
<div class="text-right">
<asp:Button ID="btnDeleteImage" runat="server" Text="X" OnClick="btnDeleteImage_Click"/>
</div>
-
-
-
<!-- Div for Slide images -->
<div class="carousel-inner" id="sliderDiv" runat="server"> </div>
-
-
-
</div>
</ContentTemplate>
</asp:UpdatePanel>
html控件动态添加到div中,如下所示:
Default.aspx.cs
protected void CreateSlider(string imgUrl)
{
sliderDiv.Controls.Add(new LiteralControl(@"<div class='item'>"));
sliderDiv.Controls.Add(new LiteralControl(@"<img alt='image' id='imgSlide' src='" + imgUrl + "'>"));
sliderDiv.Controls.Add(new LiteralControl(@"</div>"));
}
最后,ButtonDelete代码:
protected void btnDeleteImage_Click(object sender, EventArgs e)
{
HtmlImage htmlImage = (HtmlImage)sliderDiv.FindControl("imgSlide");
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "key", "<script>alert('" + htmlImage.Src.ToString() + "');</script>", false);
DeleteImagesFromTemp(htmlImage.Src.ToString());
}
顺便说一下,我还在页面Load事件中添加了回发代码。
有什么建议吗?