gpt4 book ai didi

c# - 使用服务器端动态创建的 TableRow 的 "onclick"

转载 作者:行者123 更新时间:2023-11-30 16:36:51 24 4
gpt4 key购买 nike

我正在动态创建一个表格,我希望它有可点击的行。当用户单击其中一行时,我想重定向到特定于该行项目的页面。我的问题是如何在服务器端将“onclick”事件连接到一个例程,然后允许我根据他们点击的行中包含的一些数据构建一个 url?

例如,我想在点击时执行此操作:

Response.Redirect("SomePage.aspx?"itemType + "&"+ COLUMN1VALUE);

其中 COLUMN1VALUE 是被单击的行中的第一列。

最佳答案

听起来您的实际目标只是在另一页上显示/编辑该行。如果是这种情况,您可以在创建表行时简单地向表行添加一个 javascript 事件处理程序。

<tr onclick="window.location='DetailPage.aspx?id=<%= IdFromDb %>'">
<!-- etc......-->
</tr>

如果您使用 GridView 创建表格,您可以在 RowDataBound 事件中注入(inject):

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

string OnClickCmd = "window.location='DetailPage.aspx?id=";

if (e.Row.RowType == DataControlRowType.DataRow)

{

OnClickCmd += DataBinder.Eval(e.Row.DataItem, "IdFromDb").ToString() + "'";

e.Row.Attributes.Add("onclick", OnClickCmd);

}
}

除非你需要在回发中做一些事情,否则不需要重定向。此外,您可以在创建行时创建一个超链接,而无需使用 javascript,您不需要完整的行点击体验。

关于c# - 使用服务器端动态创建的 TableRow 的 "onclick",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com