C# <;br/>;未在文本字符串替换上显示,然后放入占位符
当我从SQL中读取数据时,\r\n它具有用于回车的数据,因此我使用.Replace将\r\n转换为C# <;br/>;未在文本字符串替换上显示,然后放入占位符,c#,string,placeholder,C#,String,Placeholder,当我从SQL中读取数据时,\r\n它具有用于回车的数据,因此我使用.Replace将\r\n转换为,但在显示时忽略。如果我用替换\r\n,它会起作用,但这不是我需要的 被忽略,我需要它们生成换行符 任何关于它为什么这样做或如何实现我期待的目标的见解都将是伟大的 编辑:我已经解决了下面代码中的输入错误-但这根本不是我的问题。我问过关于BR和它们的展示 HTML 代码隐藏 string strTempDetail=myReader[“Detail”].ToString(); 字符串stromet
,但在显示时忽略
。如果我用
替换\r\n,它会起作用,但这不是我需要的
被忽略,我需要它们生成换行符
任何关于它为什么这样做或如何实现我期待的目标的见解都将是伟大的
编辑:我已经解决了下面代码中的输入错误-但这根本不是我的问题。我问过关于BR和它们的展示
HTML
代码隐藏
string strTempDetail=myReader[“Detail”].ToString();
字符串strometempDetail=strTempDetail.Replace(“\r\n”,“
”);
LiteralControl UserControlSpecialOffers=新的LiteralControl(strMempDetail.ToString());
占位符1.Controls.Add(UserControlSpecialOffers);
谢谢 您的代码中有一个输入错误。您正在将原始字符串分配到控件中,而不是包含替换项的字符串 改变
LiteralControl UserControlSpecialOffers = new LiteralControl(strTempDetail.ToString());
到
这行中的字符串是错误的
LiteralControl UserControlSpecialOffers = new LiteralControl(strTempDetail.ToString());
应该是
LiteralControl UserControlSpecialOffers = new LiteralControl(strMoreTempDetail);
因为您正在向文本控件添加
strTempDetail
,而不是strometempDetail
,后者是您执行替换的字符串。您是否通过任何更改从SQL Server读取字符串?如果从SQL server ntext列读取的字符串包含“\n”而不是“\r\n”(即使保存了“\r\n”),则会出现问题
如果字符串strometempDetail=strTempDetail,请尝试。替换(“\n”,“”)提供更好的结果
或者在保存端,同时替换两个:
string strometempDetail=strTempDetail.replace(“\r\n”和“
”).replace(“\n”和“
”)
其他人修改了css文件并将br显示为:无;在CSS中。所有的地方 因此,您的问题与SQL或字符串无关。请替换。严格来说,换行符不会在您期望的输出中出现,对吧?与您的问题无关,但您为什么要对字符串调用ToString()
?@Dave-我喜欢对任何事情都这样做,这样就不会产生任何混乱。为什么要对字符串使用.ToString()。@Babak只是修复了明显的错误。不需要在末尾使用.ToString(),但这不是它不起作用的原因。输入错误已更新。由于我的问题与打字错误完全不相关,请再次阅读我的问题。我已经尝试了这两种方法。由于某些原因,占位符的输出不会向浏览器输出换行符。然而,我将展示一个!这非常令人沮丧……是的,这是SQL的输出,它位于nvarchar字段中。或者使用strTempDetail.Replace(System.Environment.NewLine,
)
LiteralControl UserControlSpecialOffers = new LiteralControl(strMoreTempDetail );
LiteralControl UserControlSpecialOffers = new LiteralControl(strTempDetail.ToString());
LiteralControl UserControlSpecialOffers = new LiteralControl(strMoreTempDetail);