<% @ Page Language = " C# " AutoEventWireup = " True " %> <% @ Import Namespace = " System.Data " %> < script runat = " server " > int start_index;ICollection CreateDataSource() ... { DataTable dt = new DataTable(); DataRow dr; dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(string))); dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double))); for (int i = start_index; i < start_index + ItemsGrid.PageSize; i++) ...{ dr = dt.NewRow(); dr[0] = i; dr[1] = @"我是中文文字,I am English words,我不想换行, I don't wanna have new lines,欢迎访问 <a href='http://dotnet.aspx.cc/'>http://dotnet.aspx.cc/</a>, 有好料啊:)"; dr[2] = 1.23 * (i+1); dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv;} void Page_Load(Object sender, EventArgs e) ... { //对于没有数字的内容,下面这行完全满足要求,但加了数字就不行,必须调用OnItemDataBound ItemsGrid.Attributes.Add("style","word-break:keep-all;word-wrap:normal"); //下面这行是自动换行 //ItemsGrid.Attributes.Add("style","word-break:break-all;word-wrap:break-word"); if (!IsPostBack) ...{ BindGrid(); }} void BindGrid() ... { ItemsGrid.DataSource=CreateDataSource(); ItemsGrid.DataBind(); } void Item_DataBound(Object sender, DataGridItemEventArgs e) ... { if( e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) e.Item.Cells[1].Text = "<nobr>" + e.Item.Cells[1].Text + "</nobr>"; } < form runat = " server " > < asp:DataGrid id = " ItemsGrid " runat = " server " BorderColor = " black " OnItemDataBound = " Item_DataBound " AutoGenerateColumns = " false " > < AlternatingItemStyle BackColor = " #DEDEDE " ></ AlternatingItemStyle > < HeaderStyle BackColor = " #EEEEFF " HorizontalAlign = " Center " ></ HeaderStyle > < Columns > < asp:BoundColumn HeaderText = " 序号 " DataField = " IntegerValue " /> < asp:BoundColumn HeaderText = " 文字 " DataField = " StringValue " /> < asp:BoundColumn HeaderText = " 价格 " DataField = " CurrencyValue " DataFormatString = " {0:c} " > < ItemStyle HorizontalAlign = " right " ></ ItemStyle > </ asp:BoundColumn > </ Columns > </ asp:DataGrid > </ form >