【发布时间】:2017-09-08 16:06:16
【问题描述】:
我有一个asp:Table,它使用 TableCells 填充在后面的代码中。
我从this Q&A 开始,能够设置指向所需页面的超链接。但是,我需要在单击链接时设置一个 C# 属性。
表格的第一列有名称,我的目标是使名称可点击链接打开一个新窗口或选项卡(不同的 URL)并传递像 described here 这样的属性(在部分:获取公共属性值从源页面)供下一页使用。
我创建了该属性,但在单击链接时,我终生无法弄清楚如何设置该属性。我尝试使用Hyperlink、Linkbutton 和Button 以及在单元格中放置一个HTML a href 字符串。
我认为 LinkButton 是最接近的,但它没有将 UseSubmitBehavior 选项设置为 false,因此无法处理链接。
我认为这将是一个简单的过程,设置属性然后点击链接。
编辑
目前,有下面的代码,当我单击按钮时没有任何反应,它永远不会进入link_Click 事件,p.ID 是我要设置的属性,我想我可以从发件人或e 参数以某种方式。
foreach (Person p in people)
{
DivDetail.Visible = true;
TableRow tRow = new TableRow();
Table2.Rows.Add(tRow);
TableCell tCell = new TableCell();
Button link = new Button();
link.Text = p.FullName;
link.ToolTip = p.ID;
link.UseSubmitBehavior = false;
link.Attributes.Add("OnClick", "link_Click");
tCell.Controls.Add(link);
tCell.Font.Bold = true;
tRow.Cells.Add(tCell);
//other cells of row populated
}
void link_Click(object sender, EventArgs e)
{
Response.Redirect("/Orig.aspx");
}
【问题讨论】: