oldStr=oldStr.Replace("\n","<br/>");//这一行改成
oldStr=oldStr.Replace("\r\n","<br/>")会不会有效果
而文本<img><src="...路径"></img>代表html的
<imag><src="..."></imag>
我想应该利用反射可以,当然要换做System.Web.UI.WebControls.Image类了
如下代码或许对你有用:Type ST = null;
Type Reg = null;
StringBuilder Sb = new StringBuilder();
Assembly a = Assembly.GetCallingAssembly();//获取程序集
foreach(Type t in a.GetTypes())
{
if (t.ToString().Equals("System.Web.UI.WebControls.TextBox"))//获取类型TextBox
ST=t;
if (t.ToString().Equals("System.Web.UI.WebControls.RequiredFieldValidator"))
Reg = t;
Sb.Append(t.ToString()+"\r\n");
}
TextBox1.Text = Sb.ToString();
if (ST==null)
{
Response.Write("Not found the class!");

}
else
{

object Ctrl    = Activator.CreateInstance(ST,null);//创建对象实例
object Value = "测试";
(ST.GetProperty("Text")).SetValue(Ctrl,Value,null);//获取属性,并设置属性值
Value        = "Search1";
(ST.GetProperty("ID")).SetValue(Ctrl,Value,null);
Table1.BorderStyle = BorderStyle.Inset;
Table1.BorderWidth = 1;
TableRow row       = new TableRow();
TableCell tc    = new TableCell();
tc.Controls.Add((Control)Ctrl);//向单元格中添加组件
row.Cells.Add(tc);
Table1.Rows.Add(row);
//////////////////////
Control c = FindControl("Search1");//查找组件
if (c!=null)         
  {
c.EnableViewState = true;
Response.Write(((c.GetType()).GetProperty("ID")).GetValue(c,null).ToString());
Ctrl           = Activator.CreateInstance(Reg,null);
Value        = ((c.GetType()).GetProperty("ID")).GetValue(c,null).ToString();
(Reg.GetProperty("ControlToValidate")).SetValue(Ctrl,Value,null);
Value        = "不允许为空";
(Reg.GetProperty("ErrorMessage")).SetValue(Ctrl,Value,null);
tc = new TableCell();
tc.Controls.Add((Control)Ctrl);
row.Cells.Add(tc);

}

解决方案 »

  1.   

    to :Octer(学习中......) 
    你的代码好吓人啊,我希望能简洁一点好,
    不过在我没有把文本转换前<image><src .......></image>这样的写法可以在label
    显示出对应的图片,一转换就不行了
      

  2.   

    function code(fString)
         fString = replace(fString, ">", "&gt;") 
         fString = replace(fString, "<", "&lt;")     fString = Replace(fString, CHR(32), "&nbsp;")
         fString = Replace(fString, CHR(9), "&nbsp;")
         fString = Replace(fString, CHR(34), "&quot;")
         fString = Replace(fString, CHR(39), "&#39;")
         fString = Replace(fString," ","&nbsp;")

         fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "<br><br>")
    fString = Replace(fString, CHR(10), "<BR>")
    code = fString
    end function
      

  3.   

    着是ASP的你改改应该就可以啦!
      

  4.   

    public string readStr(string oldStr)
    {
       return String.Format("<pre>{0}</pre>",oldStr.Replace(">","&gt;").Replace("<","&lt;"));
    }
      

  5.   

    to: iandylove(iandylove(今天超过昨天)) 
    我已经转换成了
    /*oldStr = oldStr.Replace( CHR(32), " ");
    oldStr = oldStr.Replace( CHR(9), "&nbsp;");
    oldStr = oldStr.Replace( CHR(34), "&quot;");
    oldStr = oldStr.Replace( CHR(39), "&#39;");
    oldStr = oldStr.Replace( CHR(13), "");
    oldStr = oldStr.Replace( CHR(10) & CH(10), "</P><P>");
    oldStr = oldStr.Replace( CHR(10), "<BR> ");
    oldStr=oldStr.Replace("","'>");
    oldStr=oldStr.Replace("","<b>");
    oldStr=oldStr.Replace("","</b>");
    oldStr=oldStr.Replace("[em]","<em>");
    oldStr=oldStr.Replace("[/em]","</em>");
    oldStr=oldStr.Replace("","<u>");
    oldStr=oldStr.Replace("
    ","</u>");
    oldStr=oldStr.Replace("[center]","<center>");
        oldStr=oldStr.Replace("[/center]","</center>");
    oldStr=oldStr.Replace(str,"[mail]","<a href='mailto:")
        oldStr=oldStr.Replace("[url]","<a href='");
    oldStr=oldStr.Replace("[|mail]","'>");
    oldStrr=oldStr.Replace("[|url]","'>");
        oldStr=oldStr.Replace("[/hyper]","</a>");   
        oldStr=oldStr.Replace("[upimg]","<img src=upload/");
        oldStr=oldStr.Replace("[/upimg]",">");      
    .net里里我没有找到CHR对应的类,而且那样在提交新闻的时候还要写个对应的编码类?想证实个弱弱问题:在数据库里面Text类型的数据是不是在保存的时候空格和换行被缩进?
      

  6.   

    用label 显示行吗???
    我是用表格,<table id= tbNews.... runat server>
    .............................................................................
    tbNews.Rows[1].Cells[1].InnerHtml = "<B>"+dsNewsDetail.Tables["NewsDetail"].Rows[0].ItemArray[1].ToString()+"</B>" ;
    tbNews.Rows[2].Cells[1].InnerHtml = "<HR width=100% color=#9999ff SIZE=1>" ;
    tbNews.Rows[3].Cells[1].InnerHtml = dsNewsDetail.Tables["NewsDetail"].Rows[0].ItemArray[5].ToString() ;
    ...........................................................................
      

  7.   

    用label 显示行帮定数据不就可以吗?