c# - 回发后保留 Gridview 超链接列
问题描述
我在后面的代码(gridView_RowDataBound)中创建了一个超链接 Gridview 列,它在 postabk 上变成纯文本。超链接的文本和NavigateUrl 是动态生成的gridview 的cell[0] 的值。
` protected void gridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink link = new HyperLink();
link.Target = "blank";
link.Text = e.Row.Cells[0].Text;
link.NavigateUrl = e.Row.Cells[0].Text;
e.Row.Cells[0].Controls.Add(link);
}
}
catch (Exception ex)
{
throw ex;
}
}`
我正在尝试对 RowCreated 事件执行相同的操作,以确保在回发时保留超链接。但是 Gridview 中的数据丢失了,所以我不能以同样的方式访问它。
解决方案
对于面临相同问题的任何人,这就是我最终在每次加载页面时所做的事情(postBack)
protected void GridViewDisplayDocument_RowCreated()
{
var rowCount = GridViewDisplayDocument.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
var url = GridViewDisplayDocument.Rows[i].Cells[0].Text;
if (url != string.Empty)
{
HyperLink link = new HyperLink();
link.Target = "blank";
link.Text = url;
link.NavigateUrl = url;
GridViewDisplayDocument.Rows[i].Cells[0].Controls.Add(link);
}
}
}
推荐阅读
- tensorflow - TensorBoard:绘制每个步骤的“评估损失”图表
- c++ - 使用 Visual Studio 2017 编译 sfml
- unity3d - Unity 中网格渲染器的层
- ios - verifyPhoneNumber 不在 Firebase 电话身份验证中发送 SMS 消息
- java - IntelliJ with JBoss,如何让 JBoss 在不手动重建和重新部署应用程序的情况下看到所做的更改?
- c++ - Extending QStandardItem doesnt return data
- angular - 为什么 Angular 使用 XLIFF 1.2 而不是 XLIFF 2?
- python - makedirs 给出 OSError:[Error 13] Permission denied
- ag-grid-react - 根据 ag-grid 中的条件隐藏或删除 rowGroup 的收缩图标 [+]
- c - C 函数后链接节点丢失