我写信是为了寻求一些帮助,我的c#替换功能如下。下面的tags()函数,用故事中的超链接替换标记的名称。当我调用story()方法时,我得到以下输出:
该清单包括:ECP 2013-5A C,两片HLA 2014-3A D,KEUKA 2013 D,KEUKA 2013-1X D,MVW 2013-1A D,WOODS 2013-10A D,WOODS 2014-11A D和WOODS 2014-11X D.过去三个月中只有一个 - 伍德2013-10A D在2月00日00日。
然而,当我调用tag()方法时,我得到以下错误输出:
该清单包括:HLA 2014-3A D,KEUKA 2013-1X D,WOODS 2013-10A D,WOODS 2014-11X D.过去三个月中只有一个 -
tags()函数的输出显示缺少的数据(即标签名称)和标签的名称没有正确超链接(即www.testdomain.com/data.aspx?searchName=HLA 2014-3A D> HLA 2014-3A D,
public string tags()
{
string html = Story();
DataTable tags = LoadAllTags();
if (tags.Rows.Count > 0)
{
for (int i = 0; i < tags.Rows.Count; i++)
{
html = html.Replace(tags.Rows[i][0].ToString(),
"<a href=\"http://www.testdomain.com/data.aspx?SearchName=" + tags.Rows[i][0].ToString() + ">" + tags.Rows[i][0].ToString() + "</a>"
);
}
}
return html;
}
关于我可能出错的地方,任何进一步的建议都会非常有帮助。 谢谢
答案 0 :(得分:1)
如果我正确理解您的代码,您似乎无法阅读行中的所有相关代码。
尝试以下方法:
public string tags()
{
string url = "http://www.testdomain.com/data.aspx";
string html = Story();
DataTable tags = LoadAllTags();
if (tags.Rows.Count > 0)
{
foreach(var row in tags.Rows)
{
foreach(var column in tags.Columns)
{
var tag = column.ToString();
var path = string.Format("{0}?SearchName={1}", url, HttpUtility.UrlEncode(tag);
var link = string.Format("<a href=\"{0}\">{1}</a>", path, tag);
html = html.Replace(tag, link);
}
}
}
return html;
}