日期:2014-05-20  浏览次数:20438 次

关于替换掉DataSet对象中某字段内容后在绑定DataList的问题~(急)
我的问题有点不好问,但是我还是尽量把意思表达清楚吧~

是这样的,我想把数据库中的qyjs字段中的文字内容中的&nbsp;和 <br> 替换成   (空格)和\n(换行),意思就是做原样输出,替换完以后再将DataSet对象绑定到DataList控件上,dl.DataSource=ds.Tables[ "数据库名 "].DefaultView;然后达到在TextBox控件中的Text属性中显示数据库的信息 <asp:TextBox   runat= "server "   ID= "qyjs "   TextMode= "MultiLine "   Width= "450 "   Height= "200 "   Wrap= "true "   style= "overflow:   hidden "   BorderWidth= "1 "   Text= ' <%#   DataBinder.Eval(Container.DataItem, "qyjs ")%> '/> ,大家明白我的意思了没~?

我试过很多方法都不理想~请大家帮帮忙~

------解决方案--------------------
试试
string sqlstring= "select qyjs=replace(replace(qyjs, '&nbsp; ', ' '), ' <br> ',char(13))fk_intro where belong_to= ' "+Session[ "user_asfang "].ToString()+ " ' ";
SqlDataAdapter adap=new SqlDataAdapter(sqlstring,conn);
DataSet ds=new DataSet();
adap.Fill(ds, "fk_intro ");
DataTable dt=ds.Tables[ "fk_intro "];
dl.DataSource=dt;
dl.DataBind();

------解决方案--------------------
如果不想考虑效率的话 直接在dt 里面替换

foreach(DataRow dr in dt.Rows)
{
foreach(DataColumn dc in dt.Columns)
{
if(dc.ColumnName== "qyjs ")
{
//-- 替换dr[dc.ColumnName]=dr[dc.ColumnName].Replace( " ", " ");
}
}
}

然后在前台

<asp:TextBox runat= "server " ID= "qyjs " TextMode= "MultiLine " Width= "450 " Height= "200 " Wrap= "true " style= "overflow: hidden " BorderWidth= "1 " Text= ' <%# Server.HtmlDecode(DataBinder.Eval(Container.DataItem, "qyjs "))%> '/> ,

试试