asp.net 中html文本输入自动换行换行
问题是这样的:我的页面中有个多行文本输入框,当输入中文的时候一切正常但是当输入英文或者数字的时候造成的问题就是显示的时候不能够像输入中文一样正常换行以前我是用的一个函数来...
问题是这样的: 我的页面中有个多行文本输入框,当输入中文的时候一切正常 但是当输入英文或者数字的时候 造成的问题就是显示的时候不能够像输入中文一样正常换行 以前我是用的一个函数来递归判断用户是否换行了
public string GetContent(string content, int startIndex)
{
if (content.Length < startIndex)
{
return content;
}
string a = content.Insert(startIndex, "\r\n"); // \r\n回车换行符 长度是2
startIndex += 112;
return GetContent(a, startIndex);
}
但是想想还是有点小bug 就是如果用户输入了换行符 也就是敲了回车 我却画蛇添足加了个换行符 请大家指教有什么好办法解决这个问题 展开
public string GetContent(string content, int startIndex)
{
if (content.Length < startIndex)
{
return content;
}
string a = content.Insert(startIndex, "\r\n"); // \r\n回车换行符 长度是2
startIndex += 112;
return GetContent(a, startIndex);
}
但是想想还是有点小bug 就是如果用户输入了换行符 也就是敲了回车 我却画蛇添足加了个换行符 请大家指教有什么好办法解决这个问题 展开
2个回答
展开全部
像输入中文一样正常换行
你的意思是放在页面显示时,使用样式:white-space不会正常换行吧
这个问题其实不用考虑,
之所以输入英文或者数字的时候,不会换行,是因为浏览器认为这是一个完整的单词,所以不换行,而中文,一个字就被认为是一个完整的单词,所以会换行
而实际上,也不存在无限长度的英文或数字
一般的英文单词也就最多10几个字母,后面就会跟空格或符号,这里浏览器就会换行了,只有测试人员或无聊的人,会打一串无意义的英文或者数字
如果你一定要考虑这个问题
那么在你Insert的时候,先从startIndex 开始判断112个字符里有没有换行符,有的话就把startIndex 设置为这个换行符的位置,再加112
你的意思是放在页面显示时,使用样式:white-space不会正常换行吧
这个问题其实不用考虑,
之所以输入英文或者数字的时候,不会换行,是因为浏览器认为这是一个完整的单词,所以不换行,而中文,一个字就被认为是一个完整的单词,所以会换行
而实际上,也不存在无限长度的英文或数字
一般的英文单词也就最多10几个字母,后面就会跟空格或符号,这里浏览器就会换行了,只有测试人员或无聊的人,会打一串无意义的英文或者数字
如果你一定要考虑这个问题
那么在你Insert的时候,先从startIndex 开始判断112个字符里有没有换行符,有的话就把startIndex 设置为这个换行符的位置,再加112
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询