动态链接按钮OnClick事件在ASP.Net上不起作用
我想为图像创建动态链接按钮,动态链接按钮OnClick事件在ASP.Net上不起作用,asp.net,asplinkbutton,Asp.net,Asplinkbutton,我想为图像创建动态链接按钮,”; } 公共无效btn_单击(对象发送者,事件参数e) { 回复。写下(“你好”); } 我还尝试在Default.aspx.cs文件中编写标记代码,但没有成功。 它显示了以下错误 错误1“ASP.default\U aspx”不包含的定义 “img_Click”和无扩展方法“img_Click”接受第一个 找不到类型为“ASP.default\u aspx”的参数(是否缺少 使用指令或程序集引用?) 请帮我解决这个问题。你的方法错了,你的第一个回答。写(“
”;
}
公共无效btn_单击(对象发送者,事件参数e)
{
回复。写下(“你好”);
}
我还尝试在Default.aspx.cs文件中编写标记代码,但没有成功。它显示了以下错误 错误1“ASP.default\U aspx”不包含的定义 “img_Click”和无扩展方法“img_Click”接受第一个 找不到类型为“ASP.default\u aspx”的参数(是否缺少 使用指令或程序集引用?)
请帮我解决这个问题。你的方法错了,你的第一个回答。写(“…”)而不是回答。写(“ 阅读此算法以动态使用ASP.NET中的控件
我找到了我的答案,答案如下 Default.aspx.cs页面
<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(@"<asp:LinkButton runat=""server"" OnClick=""btn_click""><img src=""close-icon (1).png"" /></asp:LinkButton>");
}
public void btn_click(object sender, EventArgs e)
{
Response.Write("HELLO");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
公共部分类dynamicimage:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
字符串str=@“;
控制c=控制(str);
表1.控制。添加(c);
((ImageButton)Page.FindControl(“dynoimage”)).Command+=新CommandEventHandler(clickme);
}
受保护的无效clickme(对象发送者,CommandEventArgs e)
{
回答。写(“点击图像”);
Label1.Text=“单击图像”;
}
}
这里是Default.aspx页面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class dynamicimage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string str = @"<asp:ImageButton ID=""dynoimage"" ImageUrl=""~/images/about01.jpg"" runat=""server"" oncommand=""clickme"" commandname=""btn"" />";
Control c = ParseControl(str);
form1.Controls.Add(c);
((ImageButton)Page.FindControl("dynoimage")).Command += new CommandEventHandler(clickme);
}
protected void clickme(object sender,CommandEventArgs e)
{
Response.Write("Image clicked");
Label1.Text = "Image clicked";
}
}
为什么要使用Response.Write?从未见过有人这样做。创建一个控件实例并将其添加到页面中。我使用Response.Write是因为我正在创建站点,在这个站点中,从数据库接收的数据和从数据库表检索的每一行显示在站点上的按钮,如果您对此有任何其他想法,请好的,大师卡拉先生,我想你没有读完整的问题,我想为没有ID的图像创建动态链接按钮,所以我用这种方式,它工作,但事件不工作,没有点击事件它工作正常,它用这种方式为所有标签工作。给我任何方式,让事件可以通过这种方式工作。事件不会工作,除非你添加control in post返回到Pre_init事件中的控件层次结构。充分阅读本文,然后开始实现,因为ASP.NET中的动态控件不像看起来那么简单,LINK==weblogs.ASP.NET/infinitesloop/archive/2006/08/25/really-Understanding-dynamic-controls-2800_Part-1_2900.aspxMr.Guru Kara,您的链接不起作用,当我打开它时,它就消失了找不到显示页面。只需谷歌“真正了解动态控件asp.net”,您应该会得到一个名为“无限循环”的asp.net网络日志
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="dynamicimage.aspx.cs" Inherits="dynamicimage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<p>
<asp:Label ID="Label1" runat="server" Text="before click"></asp:Label>
</p>
</form>
</body>
</html>