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

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

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

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

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

由上可以看出,單憑加個(gè)換行符是不能解決問(wèn)題的。正確的解決方法如下:
1、應(yīng)該使用 "<br/>"
2、
①如果你綁定字段為設(shè)置模版列,那么把對(duì)應(yīng)的BoundField設(shè)置參數(shù)HtmlEncode= "false" 即可。
②如果為自動(dòng)生成字段:請(qǐng)?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代碼都會(huì)按照html格式輸出,如果只需要其中的哪一列的數(shù)據(jù)需要轉(zhuǎn)換,此處需要小的修改即可。
}
}
}
看看添加完后的顯示效果:
顯示字符串:"當(dāng)字符串"+ "<br />" + "比較長(zhǎng)的時(shí)候" + "<br />" +"這里就換行了"
顯示效果:

到此為止,問(wèn)題就完美解決了。
- asp.net gridview 72般絕技
- asp.net GridView控件中模板列CheckBox全選、反選、取消
- asp.net下gridview 批量刪除的實(shí)現(xiàn)方法
- Asp.net GridView使用大全(分頁(yè)實(shí)現(xiàn))
- asp.net gridview代碼綁定
- asp.net GridView 刪除時(shí)彈出確認(rèn)對(duì)話框(包括內(nèi)容提示)
- Asp.net簡(jiǎn)單代碼設(shè)置GridView自適應(yīng)列寬不變形實(shí)現(xiàn)思路與代碼
- ASP.NET 2.0/3.5中直接操作Gridview控件插入新記錄
- asp.net GridView中超鏈接的使用(帶參數(shù))
- .Net語(yǔ)言Smobiler開(kāi)發(fā)利用Gridview控件設(shè)計(jì)較復(fù)雜的表單
相關(guān)文章
Asp.net使用SignalR實(shí)現(xiàn)酷炫端對(duì)端聊天功能
這篇文章主要為大家詳細(xì)介紹了Asp.net使用SignalR實(shí)現(xiàn)酷炫端對(duì)端聊天功能,感興趣的小伙伴們可以參考一下2016-04-04
ASP.NET清空緩存時(shí)遇到的問(wèn)題簡(jiǎn)析
本文將為大家介紹的是ASP.NET網(wǎng)站清空緩存時(shí)遇到的問(wèn)題,主要是基于ObjectDataSource讀取數(shù)據(jù)位置的問(wèn)題,希望對(duì)大家有所幫助。2015-10-10
Ajax異步無(wú)刷新對(duì)局部數(shù)據(jù)更新
Ajax異步無(wú)刷新對(duì)局部數(shù)據(jù)更新的實(shí)例2013-03-03
詳解.NET Core中的數(shù)據(jù)保護(hù)組件
在本篇文章中我們給大家整理了關(guān)于返回主頁(yè).NET Core中的數(shù)據(jù)保護(hù)組件的相關(guān)知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們參考下。2018-09-09
asp.net 無(wú)刷新分頁(yè)實(shí)例代碼
asp.net 無(wú)刷新分頁(yè)實(shí)例代碼,需要的朋友可以參考一下2013-03-03
CheckBoxList兩列并排編譯為表格顯示具體實(shí)現(xiàn)
CheckBoxList兩列并排的顯示效果相比大家都有見(jiàn)到過(guò)吧,下面是具體的實(shí)現(xiàn)代碼,感興趣的朋友可以參考下哈2013-05-05
asp.net c# 調(diào)用百度pai實(shí)現(xiàn)在線翻譯,英文轉(zhuǎn)中文
本文詳細(xì)介紹asp.net c# 調(diào)用百度pai 實(shí)現(xiàn)在線翻譯以及英文轉(zhuǎn)中文實(shí)現(xiàn)代碼,需要了解的朋友可以參考下2012-12-12

