如何在div中动态对齐图像?

时间:2013-05-31 10:16:54

标签: asp.net image dynamic alignment

我正在开发一个cms网站。在这个管理员可以添加徽标到网站的主页,并可以告诉图像的位置是否应该显示在主页的左侧,右侧或中间。

在主页中,图像显示在div内。我知道如何显示数据库中的图像,但不知道如何动态设置其位置?

但是我尝试了代码但没有正常工作?

 <asp:Repeater ID="rptHeaderMenu" runat="server">
            <ItemTemplate>                    
                    <div align='<%Eval("IMAGE_POSITION")%>'>
                     <img src='<%Eval("IMAGE_URL")%>' />                                 
                    </div>                     
            </ItemTemplate>                
  </asp:Repeater>

2 个答案:

答案 0 :(得分:2)

试试这个:

HTML:

<div id="div1" runat="server">
  <img id="img1" runat="server" />
</div>
代码背后的代码:

string floatPosition = <put database value here>
img1.Style.Add("float", floatPosition);

未测试示例代码。您可能需要进行必要的调整。

根据您提供的示例更新了示例代码:

使用面板包装图像(在Repeater的ItemTemplate内),以便从服务器端轻松访问。它将在客户端呈现为div。

 <asp:Repeater ID="rptHeaderMenu" runat="server" OnItemDataBound="rptHeaderMenu_OnItemDataBound">
            <ItemTemplate>
                    <asp:Panel ID="Panel1" runat="server" />
                      <img src='<%Eval("IMAGE_URL")%>' />
                    </asp:Panel>
            </ItemTemplate>
  </asp:Repeater>

在转发器的OnItemDataBound事件中(代码隐藏):

protected void rptHeaderMenu_OnItemDataBound(Object Sender, RepeaterItemEventArgs e) 
{
    string floatPosition = <put database value here>

    Panel Panel1 = e.Item.FindControl("Panel1") as Panel
    Panel1.Style.Add("float", floatPosition);
}

答案 1 :(得分:0)

采用服务器端image控件。将对齐数据存储在string变量中。将对齐变量放在switch case语句中,并根据具体情况向图像添加所需的样式。

选中此链接以了解如何动态添加样式。 http://msdn.microsoft.com/en-us/library/17ysx206(v=vs.85).aspx

同时查看此链接

C# Adding style to a control