0

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

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

但是我尝试了代码但无法正常工作?

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

2 回答 2

2

尝试这个:

html:

<div id="div1" runat="server">
  <img id="img1" runat="server" />
</div>

后面的代码:

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

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

根据您给定的示例更新示例代码:

使用面板包装图像(在中继器的 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);
}
于 2013-05-31T10:27:29.010 回答
0

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

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

还要检查这个链接

C#为控件添加样式

于 2013-05-31T10:28:26.390 回答