【问题标题】:Making a Control to be runat=server使控件成为 runat=server
【发布时间】:2013-05-02 17:37:50
【问题描述】:

在我的应用程序中,我动态创建了一个按钮,其名称为“Dynamic_Button”。是否可以将按钮设为runat=server。我刚刚尝试了代码,但它不起作用。

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

还有其他方法可以在服务器端实现吗?

【问题讨论】:

  • 你在用什么? ASP.NET?
  • 所有 server 控件在 ASP.NET 中都是 runat=server
  • 这不是你想做的,你需要将控件动态添加到页面中。它会自动运行在服务器上。我很快就会给你一个例子。
  • 你需要一个例子来说明如何将动态按钮添加到像面板这样的容器中吗?还是你已经这样做了?
  • 什么Dynamic_Button?

标签: c# c#-4.0 button dynamic-controls runatserver


【解决方案1】:

当您手动实例化服务器控件时,无需添加 runat="server" 属性。这是一个特殊属性,仅由 ASP.NET 页面解析器用来区分服务器控件和其他标记。

标记中的 OnClick 属性对应于 Click 服务器端事件,您可以使用 += 运算符连接该事件。

所以:

LinkButton lb = new LinkButton();
lb.ID = "LinkButton1";
lb.Click += click_event;
lb.Text = "testtext";

还有事件处理程序

protected void click_event(object sender, EventArgs e)
{
}

在本例中,不需要添加 runat 服务器,因为它已经有了。

看看这个答案:https://stackoverflow.com/a/11337397/284240

【讨论】:

  • 是的,稍微清理了一下。
  • 如果您添加引用(您现在所做的),可以引用另一个答案,但答案仍然有点离题,因为 OP 没有 LinkButton 并且他也没有'不要询问如何以编程方式添加点击事件。
  • 是的,你是对的,但我想表明不需要添加 runat 服务器属性。
【解决方案2】:

Thisthis 将指导您在运行时创建和添加按钮以及分配事件(客户端和服务器端)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    相关资源
    最近更新 更多