无法在数据表中正确显示URL链接
本文关键字:显示 URL 链接 数据表 | 更新日期: 2023-09-27 18:14:12
我应该在数据表中显示标题,名称,内容和URL,我下面的代码可以工作,但它显示6列而不是4列。我使用超链接是因为我想将链接绑定到我的数据表。对于每个搜索结果,我想在数据表中显示结果。我的for循环有什么问题?为什么我得到3列的URL?我想只有一个URL列,我可以点击相关内容的链接。
protected void searchButton_Click(object sender, EventArgs e)
{
SPWeb objCurrentWeb;
SPList objSSList;
String searchWord = searchBox.Text;
int intMemberIndex = 0;
/*WebRequest objWebRequest;
WebResponse objWebResponse;
Stream objResponseStream;
StreamReader objStreamReader;*/
objCurrentWeb = SPContext.Current.Web;
objSSList = objCurrentWeb.Lists["Sales Materials"];
try
{
DataTable result = new DataTable();
result.Columns.Add("Title");
result.Columns.Add("Name");
result.Columns.Add("Content");
result.Columns.Add("Link");
foreach (SPListItem objSSListItem in objSSList.Items)
{
String title = objSSListItem["Title"].ToString();
String name = objSSListItem["Name"].ToString();
String content = objSSListItem["Content Type"].ToString();
if (title.ToUpper().Contains(searchWord.ToUpper()) || name.ToUpper().Contains(searchWord.ToUpper()) || content.ToUpper().Contains(searchWord.ToUpper()))
{
//assign the list item ID to the intMemberIndex variable and exit
intMemberIndex = objSSListItem.ID;
String url = "http:google.com/" + objSSListItem.Url;
HyperLinkField hfield = new HyperLinkField();
hfield.HeaderText = "Link";
hfield.NavigateUrl = url;
hfield.DataTextField = "Link";
resultGrid.Columns.Add(hfield);
result.Rows.Add(title, name, content,url);
}
}
this.resultGrid.DataSource = result;
this.resultGrid.Visible = true;
this.resultGrid.DataBind();
}
catch (Exception ex)
{
resultLabel.Text = ex.Message;
}
}
在for循环的每次循环中,如果条件为真,则向数据网格添加一个新列:
resultGrid.Columns.Add(hfield);
如果你也发布你的数据表标记,你会得到一个更具体的解决方案。