Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net DataTable和GridView中的换行符_Asp.net_String_Gridview_Datatable - Fatal编程技术网

Asp.net DataTable和GridView中的换行符

Asp.net DataTable和GridView中的换行符,asp.net,string,gridview,datatable,Asp.net,String,Gridview,Datatable,实际上,我正在尝试使用c在asp.net项目中的字符串中放置换行符。我将此字符串放置在数据行中,并将其添加到名为ds的数据表中。完成后,我将此数据表ds链接到gridview。 这是我的代码: risque.projet = dt.Rows[i]["fk_projet"].ToString(); risque.release = dt.Rows[i]["fk_release"].ToString(); //Create t

实际上,我正在尝试使用c在asp.net项目中的字符串中放置换行符。我将此字符串放置在数据行中,并将其添加到名为ds的数据表中。完成后,我将此数据表ds链接到gridview。 这是我的代码:

            risque.projet = dt.Rows[i]["fk_projet"].ToString();
            risque.release = dt.Rows[i]["fk_release"].ToString();

            //Create the String for adding to the row
            String test = "Project:"+risque.projet+"<br>"+ "Release: "+risque.release;
            drow["Description"] = test;
            Label1.Text = test;


            //Add the row to the datatable.
            ds.Rows.Add(drow);

            //Link the datatable to the gridview
            GridView1.DataSource = ds;
            GridView1.DataBind();
我想要这个输出:

项目:

发布:

但我一直有:项目:。。。。释放

我尝试了许多解决方案: -System.Environment.NewLine -\r\n -\n

编辑:我的gridView的代码。我的gridView中没有任何内容,因为所有内容都是在运行时创建的

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        EnableSortingAndPagingCallbacks="True" PageSize="5">
        <SelectedRowStyle Wrap="True" />
    </asp:GridView>
但什么都不管用。br标记有效,但仅当我在标签中显示字符串时有效

你知道我的错误吗?你有解决办法吗?我在这上面花了太多时间

谢谢,


Quentin

将标记放入,但将列的HtmlEncode属性设置为false应该可以工作。默认情况下,所有字段都是HtmlEncoded,这当然会阻止html标记像html标记一样工作

但是,如果要执行此操作,则需要在代码隐藏中手动对字段值进行htmlencode,以防止XSS

"Project:" + Server.HtmlEncode(risque.projet )+ "<br />" + "Release: " + Server.HtmlEncode(risque.release)

与Server.HtmlEncode相比,我更喜欢库的HtmlEncode实现,但这是另一个主题。

将标记放入,但将列的HtmlEncode属性设置为false应该可以工作。默认情况下,所有字段都是HtmlEncoded,这当然会阻止html标记像html标记一样工作

但是,如果要执行此操作,则需要在代码隐藏中手动对字段值进行htmlencode,以防止XSS

"Project:" + Server.HtmlEncode(risque.projet )+ "<br />" + "Release: " + Server.HtmlEncode(risque.release)

与Server.HtmlEncode相比,我更喜欢库中的HtmlEncode实现,但这是另一个主题。

我认为您需要:在本例中,您可以使用回车符vbCrLf,而不是连接中断标记

回车字符用于打印和显示功能

但是,C中不存在vbCrLf。vbCrLf的值为\r\n。试试下面这个

string vbCrLf = "\r\n";
String test = "Project:" + risque.projet + vbCrLf + "Release: " + risque.release;

在本例中,您可以使用回车符vbCrLf,而不是串联断开标记

回车字符用于打印和显示功能

但是,C中不存在vbCrLf。vbCrLf的值为\r\n。试试下面这个

string vbCrLf = "\r\n";
String test = "Project:" + risque.projet + vbCrLf + "Release: " + risque.release;

将网格列转换为模板列,标签将发挥神奇的作用。如果将数据绑定到标签,则将工作。

将网格列转换为模板列,标签将发挥神奇的作用。如果将数据绑定到标签,则该选项将起作用。

您好,David,您的解决方案很好,但您的行不起作用。我仍在搜索解决方案。显然,我必须使用server.htmlEncode.Ah.初始化gridview的单元格。。我懂了。您让运行时自动生成列。我认为您需要设置AutoGenerateColumns=false并指定列。不能从代码隐藏中指定HtmlEncode。我唯一的另一个选择是使用TemplateField,这同样意味着指定列。谢谢David,我刚刚找到了解决方案。我将发布它。非常好!我期待着看到它!您好,大卫,您的解决方案很好,但您的线路也不起作用。我仍在搜索解决方案。显然,我必须使用server.htmlEncode.Ah.初始化gridview的单元格。。我懂了。您让运行时自动生成列。我认为您需要设置AutoGenerateColumns=false并指定列。不能从代码隐藏中指定HtmlEncode。我唯一的另一个选择是使用TemplateField,这同样意味着指定列。谢谢David,我刚刚找到了解决方案。我将发布它。非常好!我期待着看到它!您能为Gridview显示aspx代码吗?您能为Gridview显示aspx代码吗?