【发布时间】:2019-09-19 10:27:34
【问题描述】:
我正在尝试将在线留言板作为一个大学项目,我希望当用户单击发送消息的人的用户名时将其重定向到另一个页面。用户名是使用 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");
}
【问题讨论】:
-
如果您所做的只是重定向,通常建议您阻止额外调用并直接通过 javascript 访问页面。这样,您不必向页面发送诸如视图状态之类的内容