我有一个按钮单击,将从gridview单元格生成文本。但我想在获取文本时删除href标记。我该怎么做?试图做.atrributes.remove(“href”但无法将其保存到arraylist
protected void Button_Example_Click(object sender, EventArgs e)
{
foreach (GridViewRow s in GridView_Staff.Rows)
{
CheckBox CheckBox_Staff = (s.FindControl("CheckBox_Staff") as CheckBox);
if (CheckBox_Staff.Checked == true)
{
s.Cells[2].Attributes.Remove("href");
Response.Write("<script>alert('" + s.Cells[2].Text + "');</script>");
}
}
}
s.Cells [2] .Text包含:
<a href="example.com">Example A</a>
答案 0 :(得分:0)
自从我上次使用网络表单和GridView
以来已经有一段时间了,但在我看来,好像你在.Attributes.Remove()
对象本身上调用Cell
({{1} })。但是我会认为锚标记是里面的单元格吗?
它不会更像这样(原谅伪代码):
.Cells[2]
或类似的东西?
答案 1 :(得分:0)
您可以使用正则表达式删除href属性,如下所示:
protected void Button_Example_Click(object sender, EventArgs e)
{
foreach (GridViewRow s in GridView_Staff.Rows)
{
CheckBox CheckBox_Staff = (s.FindControl("CheckBox_Staff") as CheckBox);
if (CheckBox_Staff.Checked == true)
{
string text = s.Cells[2].Text;
string pattern = @"(?<=<[^<>]+)\s+(?:href)\s*=\s*([""']).*?\1";
text = System.Text.RegularExpressions.Regex.Replace(text, pattern, "", RegexOptions.IgnoreCase);
s.Cells[2].Text = text;
Response.Write("<script>alert('" + s.Cells[2].Text + "');</script>");
}
}
}