c# - c#如何在gridview中格式化字符串
问题描述
我从数据库中获取两列,一列的数据类型为 varbinary。我将 varbinary 列转换为 byte[],然后转换为字符串。代码适用于控制台应用程序并保持字符串格式。但是当我在 Web 应用程序中使用相同的代码并在 GridView 中显示数据时,它会丢失格式。例如:
你好
世界
将在网格视图中显示为 Hello World。这是我的代码:
SqlConnection con = new SqlConnection("Data Source=.; Initial Catalog=legal; Integrated Security=True");
SqlCommand cmd = new SqlCommand("usp_output_repayment @id=1", con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Columns.Add("Category");
dt.Columns.Add("Description");
while (dr.Read())
{
DataRow dr1 = dt.NewRow();
dr1["Category"] = dr[0];
dr1["Description"] = System.Text.ASCIIEncoding.ASCII.GetString((byte[])dr[1]).Normalize();
dt.Rows.Add(dr1);
}
GridView1.DataSource = dt;
GridView1.DataBind();
解决方案
当您在 asp.net 端工作时,您应该DataBound
在 gridview 中使用以及设置AutoGenerateColumns="false"
HtmlEncode="false"
现在,如果您要获得任何格式的描述,然后将其用于您使用的列,这是我的主要观点
GridView 的少量代码,您将不得不按照描述的格式使用这些代码。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Description" HeaderText="Description" HtmlEncode="false" />
</Columns>
</asp:GridView>
HtmlEncode="true"
我使用或删除它时可能遇到的错误格式
HtmlEncode="false"
根据以下结果测试并使用良好
推荐阅读
- sql - 在我的选择列列表中将数据类型 nvarchar 转换为数字时出错
- javascript - JS:如果沿嵌套字典路径为空,则返回默认值
- json - 将嵌套的 JSON 解析为 STRUCT 类型的 BQ 表
- python - 尽管我使用问号,但正则表达式匹配重复部分
- python - Openpyxl 可以从 excel 中读取数组公式吗?
- python - 从映射连接字符串时的性能
- mysql - 升级后无法添加非英文元数据[OJS 3.2.0.0]
- android - Android - 运动布局语法错误:没有有效的 LayoutDescription
- angularjs - Angular ESLint 错误参数键需要
- c# - 动态生成、分组和绑定单选按钮到枚举