GridView中,<asp:BoundField   DataField="question_text" ..... />   question_text里面内容可能包括<b>,<ima src..>,<font>之类的HTML标记。现在我只想忽略HTML标记,请教怎么做?

解决方案 »

  1.   

    自己写正则。不匹配 <...> 之间的字符。如果考滤嵌套就麻烦一些。比如  <input value="asdfasdf>fdg" />其实还有更复杂的。 只是暂时不好例举,所以还不好定出正则的规则。
      

  2.   

    如果仅仅是<html></html>可以替换掉
    如果是<html xxx="xx"> </html>可以考虑自己写函数,或者用正则表达式
      

  3.   

    其实<asp:TemplateField>
         <ItemTemplate>
              <asp:Label runat="server" Text='<%# Eval("question_text") %>' ID="Label1" />
         </ItemTemplate>
    </asp:TemplateField>也行的吧.
      

  4.   

    用lable 好象能去除&lt一类吧,去标签用正则才是正道呀,baidu一下,应该有人写有这样的类
      

  5.   

    正则表达式已经找到了,<.+?>。但怎么用呢?我需要移除所有的html标记。
      

  6.   

    row = Regex.Replace(row,@"<[\/\!]*?[^<>]*?>","");
    去掉所有HTML标记.
    其中row为要去掉的字符串,然后按指定的正则进行去掉标记