将 onclick 事件添加到动态创建的链接按钮

2024-04-17

我想要完成的是使用 onClick 命令设置动态创建的链接按钮,以便在单击时它将运行后面代码中的方法。这是我的代码:

protected void Page_Init(object sender, EventArgs e)
{
    LoadLeftSide();
}

private void LoadLeftSide()
{
    string filepath = Server.MapPath("DataSource.xml");
    List<Post> list = PostHelper.GetAllPosts(filepath);
    HtmlTable table = FindControl("tbl") as HtmlTable;

    HtmlTableRow hearderrow = new HtmlTableRow();
    HtmlTableCell heardercell = new HtmlTableCell();     

    heardercell.InnerText = "Posts:";       
    hearderrow.Cells.Add(heardercell);
    table.Rows.Add(hearderrow);

    foreach (Post p in list)
    {
        HtmlTableRow row = new HtmlTableRow();
        HtmlTableCell cell1 = new HtmlTableCell();

        LinkButton lnkPost = new LinkButton();
        lnkPost.ID =string.Format("{0}" ,Guid.NewGuid());
        lnkPost.Attributes.Add("runat", "server");
        lnkPost.Text = p.Title;
       // lnkPost.CommandName = p.Id.ToString();
       // lnkPost.CommandArgument = p.Id.ToString();
        //lnkPost.Command += new CommandEventHandler(this.onLinkClick);
        lnkPost.Click += new EventHandler(this.onLinkClick);   

        cell1.Controls.Add(lnkPost);            
        row.Cells.Add(cell1);
        table.Rows.Add(row);

    }
    table.DataBind();

}

protected void onLinkClick(object sender, EventArgs e)
{
    string filepath = Server.MapPath("DataSource.xml");
    int id = 1;
    Post post=PostHelper.GetPostById(id, filepath);
    lblDescription.Text = post.Description;
}

创建所有动态链接页面预初始化处理程序并在每个页面回发上重新创建相同的层次结构。然后ASP.NET将能够处理OnClick动态链接事件。
而你不需要这个

lnkPost.Attributes.Add("runat", "server");

也许 ASP.NET 菜单控件会更合适?它支持 XML 与 XPath 的绑定

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 onclick 事件添加到动态创建的链接按钮 的相关文章

随机推荐

  • 如何使用 PHP API [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有一个非常简单的 API 位于htt
  • 使用 Owin 从 JWT 获取自定义声明

    我使用 Owin 和 JWTBearerAuthentication 来授权用户并验证他们的令牌 我这样做是这样的 public class Startup public void Configuration IAppBuilder app
  • python setattr 用于带有装饰器的动态方法创建器

    我有一个定义了多个方法的类 import mat class Klass object mat sell mat CanSet def method1 self return None mat sell mat CanSet def met
  • 64 位定点乘法错误

    我正在 C 中实现一个 64 位定点有符号 31 32 数字类型 基于long 到目前为止 加法和减法都很顺利 然而 乘法有一个我正在尝试解决的恼人的情况 我当前的算法包括将每个操作数分为最高和最低有效 32 位 执行 4 次乘法分为 4
  • 资产管道升级导致 Paperclip 中的 Default_url 损坏

    我正在使用 Paperclip 并且我的附件之一有一个像这样的 default url 选项 default url gt images missing style png 由于目录已移动 资产管道显然不喜欢这样 处理这个问题的最佳方法是什
  • Spring MVC 控制器是单例吗?

    我有一个关于Spring 3 MVC Controllers 当请求到来时 容器是否为每个请求创建一个新的控制器实例 类似于Action在 Struts 2 中 ThreadLocalActionContext 还是单个实例响应所有请求 默
  • 从 F# 中存储为概率序列的离散分布函数中抽取随机数

    存在给定的有限长度 N 的浮点序列 介于 0 和 1 之间 表示整数 0 N 1 上的分布函数 我们试图从这个分布中抽取一个随机数 一种方法是在 0 1 浮点数 中绘制一个均匀随机变量 然后计算该数字的逆累积分布函数 如果分布在数组中 则代
  • 带有下划线的牛顿驼峰命名法问题

    我注意到 当我序列化具有 HTTP VERB 键的 C 字典时 它会变成httP VERB在 JSON 结构中而不是 hTTP VERB 或 http verb 我希望驼峰式大小写能够实现 这是我用来重现该问题的代码 class Progr
  • Jfreechart垂直线模糊

    I am using JFreechart to generate some plots and I found the lines in my plot is blurry but the demo shows that all the
  • 我的朋友可以使用我的本地 git 存储库作为他的远程存储库吗?

    我的计算机上有一个本地 git 存储库 有没有可能我的朋友将他的上游设置为我计算机上的本地存储库 而我的本地存储库成为他的远程存储库 所以他将能够从我的本地存储库获取最新的更改并推送到我的本地存储库 我不想使用类似的工具github or
  • Google 地图 v3 创建两点之间的路线

    我正在使用 Google Maps API 开发网络应用程序 我正在尝试在两点之间创建一条路线 但由于某种原因我还没有弄清楚如何创建它 以下是我的代码 如果我缺少什么 请告诉我 谢谢
  • Android viewpager自动滑动

    如何处理 viewpager 页面的自动滑动和手动滑动 即 viewpager 中有一组 10 个页面 每个页面在 3 秒后滑动 但问题是当用户滑动页面时 它会移回到我需要的序列页面 1 gt 如果用户连续滑动两个页面 则不应返回 2 gt
  • 子串超出范围

    我正在尝试从字符串的最后部分中提取数字 我已经编写了一个函数来执行此操作 但遇到索引超出范围的问题 这是字符串 type value cat 1 3 6 1 4 1 26928 1 1 1 2 1 2 1 1 descCat 1 3 6 1
  • 内部类和局部变量

    为什么我需要声明local variable as final if my Inner class需要使用内部定义的方法吗 例子 class MyOuter2 private String x Outer2 void doStuff fin
  • 如何在 iPhone 上进行实时声音/信号处理?

    我可能正在开发一个基于 iPhone 的应用程序 进行近乎实时的声音处理 过滤等 我想知道开始的最佳方式 我想创建一个用于录制和处理声音的音频提示吗 如上所述here http developer apple com iphone libr
  • 在 Android Flash 10.1 上打开软件键盘

    我正在开发在浏览器中运行的移动 Flash 应用程序 不是 AIR 应用程序 根据 Adob e 的说法 Flash Player 10 1 提供支持 使用本机设备虚拟键盘 如果没有物理支持 则使用 TextField 支持 检测到键盘 一
  • jquery-ui 滑块手柄完成位置为 100% 左侧 - 将其放置在滑块之外

    我第一次使用 jQuery ui 滑块 并对一个相当基本的问题感到困惑 设置滑块时 我希望不使用主题 当我从左向右滑动时 滑块手柄的右手位置会跨过滑块 1 个手柄宽度 这是由于滑块 css 将手柄定位为 left 100 我注意到许多其他人
  • 如何从 teamcity 以管理员身份运行 Visual Studio 或 nunit

    我目前正在使用 teamcity 运行我的测试 给出以下错误 设置方法失败 System UnauthorizedAccessException 检索 CLSID 为 0002DF01 0000 0000 C000 的组件的 COM 类工厂
  • AttributeError:“NoneType”对象没有属性“attname”(Django)

    我有一个相当复杂的模型 第一次调用MyModel objects create kwargs 失败了 AttributeError NoneType 对象没有属性 attname 堆栈跟踪如下所示 在 Django 1 11 中 djang
  • 将 onclick 事件添加到动态创建的链接按钮

    我想要完成的是使用 onClick 命令设置动态创建的链接按钮 以便在单击时它将运行后面代码中的方法 这是我的代码 protected void Page Init object sender EventArgs e LoadLeftSid