用gridview取出如何把不需要的标记去除,只留我要的文本信息。
新增信息页面用的FCKeditor编辑过的。字体加粗了。
加入数据库就像这样带标记的用gridview取的时候就很大,像这样请问gridview取的时候如何把内容里的标记去掉grideview这样绑定的
<asp:GridView ID="gdvnews" runat="server" AutoGenerateColumns="False">
        <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" CssClass="gvRow" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" CssClass="gvHeader" />
        <AlternatingRowStyle BackColor="#F7F7F7" CssClass="gvAlternatingRow" />
           <Columns>
            <asp:TemplateField HeaderText="ID" Visible="False">
                <ItemTemplate>
                    <%#Eval("newsID") %>
                </ItemTemplate>                
            </asp:TemplateField>
            <asp:TemplateField ItemStyle-Width="30%" HeaderText="标题">
                <ItemTemplate>
                    <a href='<%#Eval("newsID","EditNews.aspx?newsID={0}") %>'><%#Eval("newshead")%></a>
                </ItemTemplate>
            <ItemStyle HorizontalAlign="Left" VerticalAlign="Middle" Wrap="False"></ItemStyle>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="发布人">
                <ItemTemplate>
                    <%#Eval("publisher") %>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="发布日期">
                <ItemTemplate>
                    <%#Eval("publishtime","{0:yyyy-MM-dd}") %>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="修改日期">
                <ItemTemplate>
                    <asp:Label ID="labmodifytime" runat="server" Text='<%#Eval("modifyTime", "{0:yyyy-MM-dd}")%>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="修改">
                <ItemTemplate>
                    <asp:HyperLink ID="lnkEdit" runat="server" NavigateUrl='<%#Eval("newsID","EditNews.aspx?newsID={0}")%>'>修改</asp:HyperLink>
                </ItemTemplate>
            </asp:TemplateField>
               <asp:CommandField ShowDeleteButton="True" />
           </Columns>
        </asp:GridView>
后台代码
private void GetDate()
    {
        string sql = "select * from News";        DataSet ds = new DataSet();        using (SqlDataAdapter dr = new SqlDataAdapter(sql, str))
        {
            dr.Fill(ds);
        }        gdvnews.DataSource = ds.Tables[0];
        gdvnews.DataKeyNames = new string[] { "newsID" };
        gdvnews.DataBind();
    }

解决方案 »

  1.   

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"> 
                <Columns> 
                    <asp:TemplateField HeaderText="name"> 
                    
      <asp:Label ID="Label1" runat="server" Text= <%# Eval("Name","HtmlEncode{0}" )%> > </asp:Label> 
                      
                    </asp:TemplateField> 
                </Columns> 
            </asp:GridView>
      

  2.   

    加"HtmlEncode{0}"么????
    没有用啊 
      

  3.   

            /// <summary>
            /// 将字符串中的HTML代码去除
            /// </summary>
            /// <param name="Htmlstring"></param>
            /// <returns></returns>
            public static string DelHTML(string Htmlstring)//将HTML去除
            {
                #region
                //删除脚本
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                //删除HTML
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"-->", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"<!--.*", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                //Htmlstring =System.Text.RegularExpressions. Regex.Replace(Htmlstring,@"<A>.*</A>","");
                //Htmlstring =System.Text.RegularExpressions. Regex.Replace(Htmlstring,@"<[a-zA-Z]*=\.[a-zA-Z]*\?[a-zA-Z]+=\d&\w=%[a-zA-Z]*|[A-Z0-9]","");
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(amp|#38);", "&", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(lt|#60);", "<", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(gt|#62);", ">", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&#(\d+);", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
                Htmlstring.Replace("<", "");
                Htmlstring.Replace(">", "");
                Htmlstring.Replace("\r\n", "");
                //Htmlstring=HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
                #endregion
                return Htmlstring;
            }
      

  4.   

    <%#DelHTML(Eval("newshead").ToString())%>
      

  5.   

      public static string LostHTML(string Str)
            {
                string Re_Str = "";
                if (Str != null)
                {
                    if (Str != string.Empty)
                    {
                        string Pattern = "<\\/*[^<>]*>";
                        Re_Str = Regex.Replace(Str, Pattern, "");
                    }
                }
                return (Re_Str.Replace("\\r\\n", "")).Replace("\\r", "");
            }
      

  6.   

    就是正则表达式去除html,无他