ASP.NET GridView中文本內(nèi)容無法換行(自動換行/正常換行)

可是呢,GridView太頑強(qiáng)了,不管我拼接字符串時用“\r\n”還是"<br/>",結(jié)果都無濟(jì)于事,都不分行顯示。經(jīng)過近半天的時間查詢資料,最終終于解決了這個問題,下面就與大家分享一下。
GridView中的換行問題可以分為兩類:一類是自動換行,另一類是正常換行。
先說第一類:自動換行
GridView默認(rèn)是自動換行,就是說當(dāng)顯示的字符串比較長的時候,GridView會自動換行。
比如我們要顯示:“當(dāng)字符串比較長的時候就會自動換行換行了”,效果如下:

當(dāng)然,如果我們不想讓它自動換行,在頁面后臺添加如下代碼即可:
//正常換行
GridView1.Attributes.Add("style","word-break:keep-all;word-wrap:normal");
添加后效果圖如下:

下面說說第二類:正常換行。
正常換行的關(guān)鍵在于換行符的選取,有人說用轉(zhuǎn)義字符"\r\n",也有人說用"<br/>"。那到底用哪個呢?下面先看看這兩種的顯示效果:
1、顯示字符串:"當(dāng)字符串"+ "\r\n" + "比較長的\r\n時候就會自動換行換行了"
顯示效果圖如下(和沒加一樣):

2、顯示字符串:"當(dāng)字符串比較長的時候"+ "<br />" + "這里就換行了"
顯示效果圖如下:

由上可以看出,單憑加個換行符是不能解決問題的。正確的解決方法如下:
1、應(yīng)該使用 "<br/>"
2、
①如果你綁定字段為設(shè)置模版列,那么把對應(yīng)的BoundField設(shè)置參數(shù)HtmlEncode= "false" 即可。
②如果為自動生成字段:請?zhí)砑覩ridView1_RowDataBound事件
/// <summary>
/// 使得GridView中的內(nèi)容可以換行
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TableCellCollection cells = e.Row.Cells;
foreach (TableCell cell in cells)
{
cell.Text = Server.HtmlDecode(cell.Text); //注意:此處所有的列所有的html代碼都會按照html格式輸出,如果只需要其中的哪一列的數(shù)據(jù)需要轉(zhuǎn)換,此處需要小的修改即可。
}
}
}
看看添加完后的顯示效果:
顯示字符串:"當(dāng)字符串"+ "<br />" + "比較長的時候" + "<br />" +"這里就換行了"
顯示效果:

到此為止,問題就完美解決了。
- asp.net gridview 72般絕技
- asp.net GridView控件中模板列CheckBox全選、反選、取消
- asp.net下gridview 批量刪除的實(shí)現(xiàn)方法
- Asp.net GridView使用大全(分頁實(shí)現(xiàn))
- asp.net gridview代碼綁定
- asp.net GridView 刪除時彈出確認(rèn)對話框(包括內(nèi)容提示)
- Asp.net簡單代碼設(shè)置GridView自適應(yīng)列寬不變形實(shí)現(xiàn)思路與代碼
- ASP.NET 2.0/3.5中直接操作Gridview控件插入新記錄
- asp.net GridView中超鏈接的使用(帶參數(shù))
- .Net語言Smobiler開發(fā)利用Gridview控件設(shè)計較復(fù)雜的表單
相關(guān)文章
把ASP.NET MVC項(xiàng)目部署到本地IIS上的完整步驟
最近會經(jīng)常修改一些網(wǎng)站前端的內(nèi)容,為了方便跟UI和產(chǎn)品交流,需要將自己修改過的頁面及時發(fā)布到測試機(jī)或者是本地的IIS上。下面這篇文章主要給大家介紹了關(guān)于如何把ASP.NET MVC項(xiàng)目部署到本地IIS上的相關(guān)資料,需要的朋友可以參考下2018-06-06
asp.net基于JWT的web api身份驗(yàn)證及跨域調(diào)用實(shí)踐
這篇文章主要介紹了asp.net基于JWT的web api身份驗(yàn)證及跨域調(diào)用實(shí)踐,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07
設(shè)置默認(rèn)Ajax操作cache and error
設(shè)置默認(rèn)Ajax操作cache and error,需要的朋友可以參考一下2013-02-02
iis中為每個應(yīng)用程序池單獨(dú)設(shè)置aspnet.config配置文件
ASP.NET2.0之后的版本就在各Framework的根目錄下提供了一個aspnet.config文件,這個文件用來配置全局的一些信息,但是一直以來我們都沒有怎么用過2011-12-12
ASP.NET Core為Ocelot網(wǎng)關(guān)配置Swagger
這篇文章介紹了ASP.NET Core為Ocelot網(wǎng)關(guān)配置Swagger的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04
asp.net 實(shí)現(xiàn)防迅雷等下載工具盜鏈
利用IHttpHandler接口來監(jiān)聽對本網(wǎng)站的資源請求后綴名是否是我們要阻止的文件,如果是再判斷是否有下載權(quán)限。沒有就給它返回一個默認(rèn)的無用的文件。2009-02-02
ASP.NET?MVC使用Knockout獲取數(shù)組元素索引的2種方法
這篇文章介紹了ASP.NET?MVC使用Knockout獲取數(shù)組元素索引的2種方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08

