【问题标题】:How to add button and associated on click in ASP.net如何在 ASP.net 中添加按钮并在单击时关联
【发布时间】:2011-08-29 17:05:32
【问题描述】:

我正在开发一个 ASP.NET 站点,在该站点中,我向最终用户显示内部搜索引擎返回的结果。我正在解析创建 HTML 字符串的结果以将这些结果显示如下

        foreach (XmlNode result in results)
    {
        srHtml = "<li class=\"\" style=\"\">";
        srHtml += "<a href=\"" + result.SelectSingleNode("./web:Url", nsmgr).InnerText + "\"> <span class=\"title\">" + result.SelectSingleNode("./web:Title", nsmgr).InnerText + "</span></a> <button>Short This URL</button>\n";
        if (result.SelectSingleNode("./web:Description", nsmgr) != null)
            srHtml += "<br />" + result.SelectSingleNode("./web:Description", nsmgr).InnerText + "<br />";
        srHtml += "<span class=\"url\">" + result.SelectSingleNode("./web:Url", nsmgr).InnerText + "</span></li>\n";
        phResults.Controls.Add(new System.Web.UI.LiteralControl(srHtml));

    }

我可以在结果页面上看到该按钮。但是我不知道当用户单击此按钮时我可以将运行的代码放在哪里。当用户单击该按钮时,我想用缩短 url 更改该按钮文本字段。

谁能帮帮我?

问候, 苏米特隆卡

【问题讨论】:

    标签: c# asp.net button xml-parsing


    【解决方案1】:

    这样做怎么样?:

    Button button = new Button();
    button.ID = "Button1";
    button.Click += new EvandHandler(Button1_Click);
    phResults.Controls.Add(button);
    

    还有你的事件处理程序:

    protected void Button1_Click(object sender, EventArgs e)
    {
         //Event handler code here
    }
    

    【讨论】:

    • 非常感谢。顺便说一句,我怎样才能将参数传递给这个?我想用包含特定文本的文本字段替换这个按钮,我将把它作为参数传递给它。
    • 我刚刚用简单的 console.writeline("test"); 测试了这段代码;事件处理程序没有被调用...
    • @Sumit Lonkar:如果您通过后面的代码动态创建此按钮,请确保在每次回发后使用上述代码重新创建该按钮。使用 OnInit 或 OnPreInit 重新创建控件。这样做,然后再次测试事件处理程序。
    猜你喜欢
    • 2015-02-17
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-20
    相关资源
    最近更新 更多