gpt4 book ai didi

c# - 我可以以编程方式将链接按钮添加到 gridview 吗?

转载 作者:行者123 更新时间:2023-11-30 15:50:00 26 4
gpt4 key购买 nike

我一直在浏览一些类似的问题,但没有任何运气。我想要做的是有一个 gridview,它对某些项目显示一个链接按钮,对其他项目显示一个超链接。这是我目前拥有的代码:

public void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
var data = (FileDirectoryInfo)e.Row.DataItem;
var img = new System.Web.UI.HtmlControls.HtmlImage();
if (data.Length == null)
{
img.Src = "/images/folder.jpg";
var lnk = new LinkButton();
lnk.ID = "lnkFolder";
lnk.Text = data.Name;
lnk.Command += new CommandEventHandler(changeFolder_OnCommand);
lnk.CommandArgument = data.Name;
e.Row.Cells[0].Controls.Add(lnk);
}
else
{
var lnk = new HyperLink();
lnk.Text = data.Name;
lnk.Target = "_blank";
lnk.NavigateUrl = getLink(data.Name);
e.Row.Cells[0].Controls.Add(lnk);
img.Src = "/images/file.jpg";
}
e.Row.Cells[0].Controls.AddAt(0, img);
}
}

第一个单元格是 TemplateField。目前,一切都正确显示,但链接按钮不会引发命令事件处理程序,并且所有控件都会在回发时消失。

有什么想法吗?

最佳答案

我认为您应该尝试在 回发时强制重新绑定(bind) GridView。这将确保重新创建任何动态控件并重新附加它们的事件处理程序。这也应该可以防止它们在回发后消失。

IOW,在回发时在 GridView 上调用 DataBind()

关于c# - 我可以以编程方式将链接按钮添加到 gridview 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1039474/

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