如果中继器控制语句 [英] If statement in repeater control

查看:109
本文介绍了如果中继器控制语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以,取决于该转发器项目都有一个链接或不是我想用周围图像的链接,否则我只是想出去放链接。

现在我有

 < ASP:直放站ID =BannerImageRepeater=服务器>
    <&ItemTemplate中GT;
        &所述; A HREF =&下;%#((BannerImage)的Container.DataItem).CallToActionUrl%gt;中与GT;&下; IMG SRC =&下;%#((BannerImage)的Container.DataItem).ImageUrl%GT ;? W = 980&放大器; H = 600ALT =&下;%#((BannerImage)的Container.DataItem).AltText%gt;中/>&下; / A>
    < / ItemTemplate中>
< / ASP:直放站>

所以要添加类似

  String.IsNullOrEmpty(((BannerImage)的Container.DataItem).CallToActionUrl)&所述; IMG SRC =>
其他
&所述; A HREF =''>&下; IMG SRC =>&下; / A>


解决方案

创建两个控件,一个为纽带,另一个图像控件。然后使用code后面切换自己的知名度。一种无形的asp.net控件不呈现在所有所以你应该罚款。更改此:

 < ASP:直放站ID =BannerImageRepeater=服务器>
        <&ItemTemplate中GT;
            &所述; A HREF =&下;%#((BannerImage)的Container.DataItem).CallToActionUrl%gt;中与GT;&下; IMG SRC =&下;%#((BannerImage)的Container.DataItem).ImageUrl%GT ;? W = 980&放大器; H = 600ALT =&下;%#((BannerImage)的Container.DataItem).AltText%gt;中/>&下; / A>
        < / ItemTemplate中>
    < / ASP:直放站>

要这样:

 < ASP:直放站ID =BannerImageRepeater=服务器>
        <&ItemTemplate中GT;
            < ASP:超链接ID =YES_LINK=服务器NavigateUrl =<%#((BannerImage)的Container.DataItem).CallToActionUrl%GT;>< IMG SRC =<%#(( BannerImage)的Container.DataItem).ImageUrl%GT; W = 980&放大器; H = 600ALT =&下;%#((BannerImage)的Container.DataItem).AltText%gt;中/>&下; / asp的:超链接&GT ;
            < ASP:图片ID =no_link=服务器的ImageUrl =?<%#((BannerImage)的Container.DataItem).ImageUrl%GT; W = 980安培; H = 600ALT =<% #((BannerImage)的Container.DataItem).AltText%gt;中/>
        < / ItemTemplate中>
    < / ASP:直放站>

如果您需要把客户端的JavaScript,分配在脚本中的每个控制的CssClass和参考的。让我们知道如何去和好运气。

So depending on if the repeater item has a link or not I want to use a link around an image otherwise I just want to out put link.

Right now I have

<asp:Repeater ID="BannerImageRepeater" runat="server">
    <ItemTemplate>
        <a href="<%# ((BannerImage)Container.DataItem).CallToActionUrl %>"><img src="<%# ((BannerImage)Container.DataItem).ImageUrl %>?w=980&h=600" alt="<%# ((BannerImage)Container.DataItem).AltText %>"/></a>
    </ItemTemplate>
</asp:Repeater>   

So wanted to add something like

String.IsNullOrEmpty(((BannerImage)Container.DataItem).CallToActionUrl)

<img src="">
else
<a href=''><img src=""></a>

解决方案

Create two controls, one as a link and the other an image control. Then use code behind to toggle their visibility. An invisible asp.net control is not rendered at all so you should be fine. Change this:

<asp:Repeater ID="BannerImageRepeater" runat="server">
        <ItemTemplate>
            <a href="<%# ((BannerImage)Container.DataItem).CallToActionUrl %>"><img src="<%# ((BannerImage)Container.DataItem).ImageUrl %>?w=980&h=600" alt="<%# ((BannerImage)Container.DataItem).AltText %>"/></a>
        </ItemTemplate>
    </asp:Repeater>   

To this:

<asp:Repeater ID="BannerImageRepeater" runat="server">
        <ItemTemplate>
            <asp:hyperlink id="yes_link" runat="server" NavigateUrl="<%# ((BannerImage)Container.DataItem).CallToActionUrl %>"><img src="<%# ((BannerImage)Container.DataItem).ImageUrl %>?w=980&h=600" alt="<%# ((BannerImage)Container.DataItem).AltText %>"/></asp:hyperlink>
            <asp:image id="no_link" runat="server" ImageUrl="<%# ((BannerImage)Container.DataItem).ImageUrl %>?w=980&h=600" alt="<%# ((BannerImage)Container.DataItem).AltText %>" />
        </ItemTemplate>
    </asp:Repeater> 

If you need to incorporate client side javascript, assign each control a CssClass and reference that in your script. Let us know how it goes and good luck.

这篇关于如果中继器控制语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆