我可以将图像添加到 ASP.NET 按钮吗?

Posted

技术标签:

【中文标题】我可以将图像添加到 ASP.NET 按钮吗?【英文标题】:Can I add an image to an ASP.NET button? 【发布时间】:2011-01-31 09:50:53 【问题描述】:

我想添加一个图像,而不是默认按钮。

我已经有一个图像的 CSS 类,这可以工作吗?

<asp:Button ID="..." CssClass=""/>

我现在正在尝试,图像都被弄乱了。可能是 CSS 问题?

【问题讨论】:

是的,你可以这样做,只要确保在你的 CSS 中设置类的宽度和高度,以防止被挤压 什么版本的 ASP.NET?这是相关信息。 【参考方案1】:

为什么不使用ImageButton 控件?

【讨论】:

我正在设计一个现有的应用程序,它已经有与之相关的事件等等。 使用与您的按钮同名的图像按钮,它将获取所有事件。 实际上不会,+= new Eventhandler 中断,必须使用 ImageClickEventhandler 我选择了图片按钮,点击时按钮图片看起来很有趣。 当我添加图片按钮时,图片的 url 类似于“localhost/Images/....”,所以它包含本地 url。当我想将该项目放入服务器时会发生什么(将项目从本地复制到生产服务器?)链接是否正确更改?【参考方案2】:

虽然您可以使用以下 CSS 将按钮“替换”为图像...

.className 
   background: url(http://sstatic.net/so/img/logo.png) no-repeat 0 0;
   border: 0;
   height: 61px;
   width: 250px

...这里最好使用 ImageButton 控件,因为它允许您使用替代文本(为了便于访问)。

【讨论】:

【参考方案3】:

我实际上更喜欢使用 html 按钮表单元素并将其设置为 runat=server。按钮元素可以在其中包含其他元素。您甚至可以使用 span 或 strong 在其中添加格式。这是一个例子:

<button id="BtnSave" runat="server"><img src="Images/save.png" />Save</button>

【讨论】:

【参考方案4】:

我不知道我是否完全明白问题所在。您可以将图像添加到 ASP 按钮中,但这取决于它的设置方式是否适合它。将背景图像放入 asp 按钮会定期为您提供形状不规则的按钮或带有文本覆盖的背景图像,因为它缺少图像标签。例如顶部带有“SUBMIT QUERY”的图片。

作为一种简单的方法,我在我的网站上使用了一个“blankspace.gif”文件。它是一个 1x1 像素的空白 gif 文件,我调整它的大小以替换网站上的图像。

因为我不使用 CSS 替换图像,所以我使用 CSS Sprites 来减少查询。我的网站最初是 150kb 的主页,并且有大约 140-150 个请求来加载主页。通过创建一个精灵,我取消了将图像大小压缩到大小的一小部分的请求,它可以完美运行,并且您需要图像文件来正确调整大小的任何区域只需使用相同的 blankspace.gif 图像。

<asp:ImageButton class="signup" ID="btn_newsletter" ImageUrl="~/xx/xx/blankspace.gif" Width="87px" Height="28px" runat="server" /

如果您看到上面的类在 css 中加载背景图像,但这会留下带有“提交查询”文本的按钮,因为它需要图像,因此用预加载的图像替换它意味着您摆脱了请求并且仍然在 css 中有图像。

完成。

【讨论】:

您使用的是 ImageButton,而不是 Button。问题是看看标准按钮是否可以包含图像。【参考方案5】:

您可以将图像添加到 asp.net 按钮。你不需要只使用图像按钮或链接按钮。在浏览器上显示按钮时,默认转换为 html 按钮。因此,您可以使用其“样式”属性来添加图像。我的例子如下。我希望这个对你有用。

Style="background-image:url('Image/1.png');"

您可以使用 using 更改图像位置

background-repeat

属性。所以你可以写一个像下面这样的按钮:

<asp:Button ID="btnLogin" runat="server" Text="Login" Style="background-image:url('Image/1.png'); background-repeat:no-repeat"/>

【讨论】:

【参考方案6】:

假设“图像”的 Css 类:

input.image  
  background: url(/i/bg.png) no-repeat top left; 
  width: /* img-width */; 
  height: /* img-height */ 

如果不知道图片的宽高是多少,可以用javascript动态设置。

【讨论】:

【参考方案7】:
.my_btn 
  font-family:Arial; 
  font-size:10pt; 
  font-weight:normal; 
  height:30px; 
  line-height:30px; 
  width:98px; 
  border:0px;
  background-image:url('../Images/menu_image.png'); 
  cursor:pointer;


<asp:Button ID="clickme" runat="server" Text="Click" CssClass="my_btn" />

【讨论】:

以上是关于我可以将图像添加到 ASP.NET 按钮吗?的主要内容,如果未能解决你的问题,请参考以下文章

asp.net 我可以在单击按钮后禁用数据网格排序操作吗?

ASP.NET 图像上传与调整大小

Asp.net MVC:上传多个图像文件?

从 ASP.NET 将网页转换为图像

将多个图像从asp.net中的文件夹保存到本地

在 asp.net 框架 Web 应用程序中上传图像文件