【问题标题】:ASP:Repeater and embedded radiobuttons (cont.)ASP:Repeater 和嵌入式单选按钮(续)
【发布时间】:2017-02-23 09:32:32
【问题描述】:

这是此处发布的部分已解决问题的延续:ASP:Repeater and embedded radiobuttons

我现在正在尝试格式化我的照片的显示格式,以便它们仍然水平运行,但单选按钮显示在每张照片的正下方。默认情况下,当使用我当前的代码时,它们会出现在照片的右侧:

<asp:Repeater ID="repPhotos" runat="server">
  <ItemTemplate>
    <asp:hyperlink id="link" NavigateUrl='<%# Container.DataItem %>' runat="server">
        <asp:Image ID="Image" runat="server" ImageUrl='<%# Container.DataItem %>' Height="10%" Width="10%" />
    </asp:hyperlink>
    <asp:RadioButton runat="server" ID="rbPhoto" CssClass="myRadioButton" onclick="radioButtonClick(this)" />
  </ItemTemplate>
</asp:Repeater>

后来有人建议我用&lt;p&gt;标签包装我的RadioButton控件,如下所示:

<asp:Repeater ID="repPhotos" runat="server">
  <ItemTemplate>
    <asp:hyperlink id="link" NavigateUrl='<%# Container.DataItem %>' runat="server">
        <asp:Image ID="Image" runat="server" ImageUrl='<%# Container.DataItem %>' Height="10%" Width="10%" />
    </asp:hyperlink>
    <p>
        <asp:RadioButton runat="server" ID="rbPhoto" CssClass="myRadioButton" onclick="radioButtonClick(this)" />
    </p>
 </ItemTemplate>
</asp:Repeater>

但这只是让所有照片都垂直显示。这是之前和之后输出的样子......

【问题讨论】:

    标签: asp.net webforms radio-button repeater


    【解决方案1】:

    包裹单选按钮的&lt;p&gt; 将显示为块元素,因此您的图像垂直显示。

    这个 HTML/CSS 应该可以解决问题,您可以根据需要调整边距:

    <style type="text/css">
        .photoContainer {float: left; margin: 10px; width:200px;}
        .radioButton {text-align: center;}
    </style>
    <asp:Repeater ID="repPhotos" runat="server">
        <ItemTemplate>
            <div class="photoContainer">
                <asp:HyperLink ID="link" NavigateUrl='<%# Container.DataItem %>' runat="server">
                    <asp:Image ID="Image" runat="server" ImageUrl='<%# Container.DataItem %>' Height="10%" Width="10%" />
                </asp:HyperLink>
                <div class="radioButton">
                    <asp:RadioButton runat="server" ID="rbPhoto" CssClass="myRadioButton" onclick="radioButtonClick(this)" />
                </div>
            </div>
        </ItemTemplate>
    </asp:Repeater>
    

    【讨论】:

    • 这并没有给我想要的效果。查看输出:libersys.net/public/repeater_photos_radiobuttons.png
    • 啊,好吧 - 我在 photocontainer 元素上添加了一个宽度 - 请参阅答案中更新的 css
    • 问题在于,由于我在 Image 标签上为我的 Height 和 Width 指定了 10%,现在图像看起来非常小,显然只占用了指定的 200px 宽度的 10%容器 div。
    • 好的,那么如果您要使用响应式图像,您应该在容器 div 上设置 % 宽度。试试 width:25% - 只是试验直到你得到想要的尺寸。
    猜你喜欢
    • 2017-02-22
    • 2015-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多