Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#代码隐藏中呈现按钮_C#_Asp.net_Code Behind - Fatal编程技术网

在C#代码隐藏中呈现按钮

在C#代码隐藏中呈现按钮,c#,asp.net,code-behind,C#,Asp.net,Code Behind,我正试图在代码隐藏中构建一个表。我所拥有的是这样的: Content += "<tr>"; Content += "<td>" + dt.Rows[i]["Provision"].ToString() + "</td>"; Content += "<td>" + dt.Rows[i]["MarkForReview"].ToString() + "</td>"; Content += "<td>" + dt.Rows[i]["

我正试图在代码隐藏中构建一个表。我所拥有的是这样的:

Content += "<tr>";
Content += "<td>" + dt.Rows[i]["Provision"].ToString() + "</td>";
Content += "<td>" + dt.Rows[i]["MarkForReview"].ToString() + "</td>";
Content += "<td>" + dt.Rows[i]["IssueType"].ToString() + "</td>";
Content += "<td>" + dt.Rows[i]["Resolution"].ToString() + "</td>";
Content += "<td>" + dt.Rows[i]["Feedback"].ToString() + "</td>";
Content += "<td><input type=\"button\" ID=\"btnEdit\" runat=\"server\" OnClick=\"btnEdit_OnClick\" Text=\"Edit\" /></td>";
Content += "</tr>"; 
<td><input type="button" ID="btnEdit" runat="server" OnClick="btnEdit_OnClick" Text="Edit" /></td>
此外,按钮渲染时没有文本。这只是一个灰色的小按钮


知道我做错了什么吗?

可以将按钮渲染为文字。但是,不会将任何事件附加到它,因为它不在控制树中

换句话说,当按钮发回服务器时,不会触发click事件

以下是一个例子-

protected void Page_Init(object sender, EventArgs e)
{
    var btnEdit = new Button {ID = "btnEdit", Text = "Edit" };
    btnEdit.Click += btnEdit_OnClick;
    PlaceHolder1.Controls.Add(btnEdit);
}
ASPX


您可以将按钮渲染为文字。但是,不会将任何事件附加到它,因为它不在控制树中

换句话说,当按钮发回服务器时,不会触发click事件

以下是一个例子-

protected void Page_Init(object sender, EventArgs e)
{
    var btnEdit = new Button {ID = "btnEdit", Text = "Edit" };
    btnEdit.Click += btnEdit_OnClick;
    PlaceHolder1.Controls.Add(btnEdit);
}
ASPX


这就是我查看源代码时显示的内容。事件是否已注册?在您的
OnLoad
方法或类似方法中,您需要订阅事件,否则发布者将被忽略。不确定代码中的所有内容,但使用当前可用的,
Content.OnClick+=btnEdit\u OnClick
或类似的内容。这就是查看源代码时显示的内容。事件是否已注册?在您的
OnLoad
方法或类似方法中,您需要订阅事件,否则发布者将被忽略。不确定代码中的所有内容,但使用当前可用的,
Content.OnClick+=btnEdit\u OnClick
或类似的内容。
<%@ Page Language="C#" ... %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<body>
    <form id="form1" runat="server">
        <asp:PlaceHolder runat="server" ID="PlaceHolder1" />
    </form>
</body>