采用三层结构,
想在BLL层中处理数据源中的超链接字段,
然后在表示层只是绑定修改后的数据源。结果发现了一个问题。部分关键代码如下:
public DataTable DIRefresh()
{
DataTable myDT = new DataTable();
myDT = DrugInformation.Refresh();
for (int i = 0; i < myDT.Rows.Count; i++)
{
int s=myDT.Rows[i][2].ToString().IndexOf('#'); StringBuilder sb = new StringBuilder();
sb.Append("<a href=\" ");
sb.Append(myDT.Rows[i][2].ToString().Substring(s + 1));
sb.Append(" \"> ");
sb.Append("相关资料下载</a>");
myDT.Rows[i][2] = HttpContext.Current.Server.HtmlDecode(sb.ToString()); }
return myDT;
}
结果显示的结果是这样的 <a href=" 资料/吗啡.doc# "> 相关资料下载</a>而不是我想要的超链接,不知道怎么解决,问题出在了哪里,各位帮忙一起想想?
想在BLL层中处理数据源中的超链接字段,
然后在表示层只是绑定修改后的数据源。结果发现了一个问题。部分关键代码如下:
public DataTable DIRefresh()
{
DataTable myDT = new DataTable();
myDT = DrugInformation.Refresh();
for (int i = 0; i < myDT.Rows.Count; i++)
{
int s=myDT.Rows[i][2].ToString().IndexOf('#'); StringBuilder sb = new StringBuilder();
sb.Append("<a href=\" ");
sb.Append(myDT.Rows[i][2].ToString().Substring(s + 1));
sb.Append(" \"> ");
sb.Append("相关资料下载</a>");
myDT.Rows[i][2] = HttpContext.Current.Server.HtmlDecode(sb.ToString()); }
return myDT;
}
结果显示的结果是这样的 <a href=" 资料/吗啡.doc# "> 相关资料下载</a>而不是我想要的超链接,不知道怎么解决,问题出在了哪里,各位帮忙一起想想?
{
DataTable myDT = new DataTable();
myDT = DrugInformation.Refresh();
for (int i = 0; i < myDT.Rows.Count; i++)
{
int s=myDT.Rows[i][2].ToString().IndexOf('#'); HyperLink hk = new HyperLink();
hk.NavigateUrl = myDT.Rows[i][2].ToString().Substring(s + 1);
hk.Text = "相关资料下载";
myDT.Rows[i][2] = hk; }
return myDT;
}
但是显示出来的更加让我困惑:
System.Web.UI.WebControls.HyperLink 而不是我想要显示的超链接对象。