以编程方式在页面ASP.net Web应用程序上放置图像c#

时间:2012-07-12 00:58:23

标签: c# asp.net image web controls

如何以编程方式移动图像控件?在该页面上的asp.net Web应用程序中,我希望以编程方式创建3个图像并将它们放置在它们之间一段距离;

int punctX = 50;
            int punctY=50;

            for (int y = 0; y < 2; y++)
            {
                System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
                image.ID = "culoare" + y.ToString();

- 如何在页面上放置图像? }

3 个答案:

答案 0 :(得分:2)

如果您可以使用某种占位符来添加图像,那就更好了。在这个例子中,我使用的是asp.net面板控件。在后面的代码中,您可以使用相应的属性设置style属性。

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="StackOverFlow_2._Default" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:Panel ID="pnlImages" runat="server"></asp:Panel>
</asp:Content>

如果你有这样的图像

enter image description here

你可以做这样的事情(不是最干净的代码;但你明白了)

using System;
using System.Web.UI;

namespace StackOverFlow_2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                double punctX = 10;
                double punctY = 10;

                double spacing = 5;

                pnlImages.Style["position"] = "relative";

                for (int y = 0; y < 3; y++)
                {
                    System.Web.UI.WebControls.Image image = new System.Web.UI.WebControls.Image();
                    image.ID = "culoare" + y.ToString();
                    image.Style["position"] = "absolute";
                    image.Style["left"] = punctX.ToString() + "px";
                    image.Style["top"] = punctY.ToString() + "px";
                    image.Width = 100;
                    image.Height = 60;
                    image.ImageUrl = "~/Images/" + image.ID.ToString() + ".jpg";

                    pnlImages.Controls.Add(image);                    

                    punctX += image.Width.Value + spacing;

                }
            }
        }
    }
}

渲染输出看起来像这样(你的图像相隔5px)

enter image description here

答案 1 :(得分:0)

您必须将它们添加到您的页面控件集合中,如此

page.Controls.Add(yourImage)

答案 2 :(得分:0)

    //The image data is from database.
    System.Web.UI.WebControls.Image img = new System.Web.UI.WebControls.Image();
    img.ID = row["id"].ToString();
    img.AlternateText = row["id"].ToString();
    img.ImageUrl = "~/myimage.png";
    img.Style["position"] = "relative";              //here must be "relative"
    img.Style["left"] = row["posX"].ToString() + "px";
    img.Style["top"] = row["posY"].ToString() + "px";