![](/img/trans.png)
[英]Using html <a> tag instead of LinkButton, can't access c# code-behind
[英]Can't access image control defined in the HTML, in the code behind C# file
我正在忙于一个项目,而我正在尝试在单击按钮时更改图像。 问题是我无法在代码部分调用图像控件。 如何调用图像控件?
我已经尝试将控件添加到designer.cs文件但我无法访问UI控件,我还尝试了很多其他方法,但它没有解决问题。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using INF3014F_BMW_TEAM16.Models;
using System.Web.ModelBinding;
namespace INF3014F_BMW_TEAM16
{
public partial class ProductDetails : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public IQueryable<Product> GetProduct(
[QueryString("ProductID")] int? productId, [RouteData] string productName)
{
var _db = new INF3014F_BMW_TEAM16.Models.ProductContext();
IQueryable<Product> query = _db.Products;
if (productId.HasValue && productId > 0)
{
query = query.Where(p => p.ProductID == productId);
}
else if (!String.IsNullOrEmpty(productName))
{
query = query.Where(p =>
String.Compare(p.ProductName, productName) == 0);
}
else
{
query = null;
}
return query;
}
protected void RedBtn_Click(object sender, EventArgs e)
{
Image1.ImageUrl = "/Catalog/Images/1hacth3red.jpg";
}
<asp:FormView ID="productDetail" runat="server" ItemType="INF3014F_BMW_TEAM16.Models.Product" SelectMethod ="GetProduct" RenderOuterTable="false" OnPageIndexChanging="productDetail_PageIndexChanging">
<ItemTemplate>
<div>
<h1><%#:Item.ProductName %></h1>
</div>
<br />
<table>
<tr>
<td>
<Image id="Image1" src="/Catalog/Images/<%#:Item.ImagePatheWhite %>" style="border: solid; height: 300px" alt="<%#:Item.ProductName %>" runat ="server" />
</td>
<td> </td>
<td style="vertical-align: top; text-align:left;">
<b>Description:</b><br /><%#:Item.Description %><br /><span>
<b>Price:</b> <%#: String.Format("{0:c}", Item.UnitPrice) %></span><br /><span>
<b>Product Number:</b> <%#:Item.ProductID %></span><br />
<br />
<asp:Button ID="WhiteBtn" runat="server" Text="White" BackColor ="White" OnClick ="WhiteBtn_Click" />
<<asp:Button ID="BlackBtn" runat="server" Text="Black" BackColor ="Black" />
<asp:Button ID="RedBtn" runat="server" Text="Red" BackColor ="Red" OnClick ="RedBtn_Click" />
<br />
<a href="/AddToCart.aspx?productID=<%#:Item.ProductID %>">
<span class="ProductListItem">
<b>Add To Cart<b>
</span>
</a>
<br />
</td>
</tr>
</table>
</ItemTemplate>
</asp:FormView>
用户服务器控件:
<asp:Image ID="Image1" runat="server" ImageUrl="/Catalog/Images/<%# Item.ImagePatheWhite %>" AlternateText="<%#:Item.ProductName %>" BorderColor="Black" Height="300px" />
<Image>
标签不存在,您必须使用标签并使用属性runat="server"
<img alt="" src="" />
我认为它应该是:
<asp:Image id="Image1" runat="server" ... etc./>
并只设置ImageUrl服务器端。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.