我正在尝试将一个在线留言板作为一个大学项目,当用户单击发送消息的人的用户名时,我希望它将用户重定向到另一个页面。用户名是使用sql从数据库中提取的,然后使用c#作为按钮实现为html。问题在于此按钮将不会响应其onclick。
这是我的服务器端c#代码,该代码读取消息数据库,然后将其转换为html
while (R.Read()){
messageIndex = messageIndex + "<tr><td><input type=\"submit\" id=\"msg"
+ R["MessageID"] + "\"name =\"msg" + R["MessageID"] + "\"
runat=\"server\" onServerClick=\"btnAccountClick\" value=\"" +
R["username"] + "\"/></input></td>";
messageIndex = messageIndex + "<td>: " + R["message"] + "</td>
</tr>";};
sqlCon.Close();
parData.InnerHtml = "<table>" + messageIndex + "</table>";
这是显示“ pardata”的html代码
<div runat="server" >
<span id="parData" runat="server"></span>
</div>
这是onserverclick函数,用于重定向页面
protected void btnAccountClick(object sender, EventArgs e)
{
Response.Redirect("userInfo.aspx");
}
答案 0 :(得分:0)
您的代码正在创建HTML元素,而不是Webform控件。如果要使用onServerClick方法,则需要创建一个新的按钮控件并定义属性,然后再将其呈现在客户端上。请参见Add asp:Button from codebehind以获得帮助。