我正在做一个关于宠物的 C# 3 层项目
在加载第一个网络表单时,我对数据库进行查询并将所有宠物的数据(id、姓名、照片)作为列表显示为带有 HTML 图像的卡片,顺便说一下,我正在使用 Materialize,我将此链接作为示例http://materializecss.com/cards.html
我背后的代码(Pets.aspx.cs)是这个
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
NegPet negPet = new NegPet();
StringBuilder sbHtml = new StringBuilder();
List<EntPet> listEntPet = negPet.getAllPet(5); //5 is the user code (get all pets from user 5)
if (listEntPet.Count > 0)
{
foreach (EntPet entPet in listEntPet)
{
sbHtml.Append("<div class=\"col s6 m4\">");
sbHtml.Append("<div class=\"card\">");
sbHtml.Append("<div class=\"card-image\">");
sbHtml.Append("<img src=\"http://www.dogzone.com/images/breeds/beagle.jpg\" alt=\"\" class=\"circle responsive-img\" />");
sbHtml.Append("<asp:LinkButton id=\"lb_"+ entPet.Id_pet + "\" runat=\"server\" CommandArgument='<%# Eval(\""+ entPet.Id_pet + "\") %>')");
sbHtml.Append("\" click=\"updatePet_Click\" class=\"btn-floating halfway-fab waves-effect waves-light red\"><i class=\"material-icons\">edit</i></a>");
sbHtml.Append("</div>");
sbHtml.Append("<div class=\"card-content\">");
sbHtml.Append("<span class=\"card-title\">");
sbHtml.Append(entPet.Name_pet);
sbHtml.Append("</span>");
sbHtml.Append("</div>");
sbHtml.Append("</div>");
sbHtml.Append("</div>");
}
} else
{
sbHtml.Append("<h2>No pets found</h2>");
}
galPet.Controls.Add(new Literal { Text = sbHtml.ToString() });
}
}
galPet 是一个
<asp:PlaceHolder ID="galPet" runat="server" />
这段代码返回了“Pets”的所有“Id”和“Name”,并将其设置为我想要的 HTML 设计,类似于画廊。当我尝试参加活动时,问题就出现了,onClick="updatePet_Click"
显然它永远不会达到它背后的方法
public void updatePet_Click(Object sender, EventArgs e)
{
LinkButton btn = (LinkButton)(sender);
string yourValue = btn.CommandArgument.Substring(3);
ClientScript.RegisterStartupScript(this.GetType(), "myalert", "alert('" + yourValue + "');", true);
}
我试图用这段代码做的是从点击的 asp:LinkButton 中检索 ID,这样我就可以在后面的代码中使用它
我也尝试将事件更改为“OnClick”,但尝试单击它时出现此错误
Pets.aspx:24 Uncaught ReferenceError: updatePet_Click is not defined
at HTMLUnknownElement.onclick (Pet.aspx:24)
我想知道如何检索 ID 以在后面的代码中使用它,或者是否有另一种方法可以将我的列表传递给 HTML 设计,在那里我可以更轻松地获得点击的 ID。谢谢