我是编程领域的新手......所以请给出正确答案。
我正在使用带有sql数据库的动态选取框来获取“公司新闻”,代码运行正常,但是没有为新点创建新行。
html代码:
<asp:Panel ID="Panel1" runat="server" CssClass="style42" Width="762px"
BorderStyle="Solid" Font-Bold="True" Font-Size="Medium" BackColor="#78BBE6"
Height="267px">
<div style="width: 762px; " class="style41">
<marquee id="mar1" runat="server" direction="up" onmouseover="this.stop()"
onmouseout="this.start()" scrollamount="2" scrolldelay="1"
class="style43" >
<strong>
</strong>
</marquee>
</div>
</asp:Panel>
c#代码: -
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection obj = new SqlConnection("data source=DHAVAL-PC;"+
"initial catalog=user_master;"+
"integrated security=true;user id=sa;password=1234");
string login1 = "select * from admin_data";
SqlCommand cmd1 = new SqlCommand(login1,obj);
obj.Open();
SqlDataReader user = cmd1.ExecuteReader();
if (user.HasRows)
{
user.Read();
SqlDataReader t1;
user.Close();
t1 = cmd1.ExecuteReader();
t1.Read();
this.mar1.InnerHtml= t1[6].ToString();
//what to do for newpoint in newline
obj.Close();
}
}
在我的数据库中只有一个用于输入新闻内容的字段... 当使用文本框显示新闻时它工作得很好..在新行中显示新点..但是字幕不像文本框那样显示。
请给我适当的建议.....
答案 0 :(得分:2)
在文本框中输入换行符会在C#中生成换行符(\n
)。 HTML会忽略换行符,要在HTML中强制换行,您必须使用<br />
标记:
this.mar1.InnerHtml= t1[6].ToString().Replace("\n", "<br />");
答案 1 :(得分:0)
您需要更改此行
this.mar1.InnerHtml= t1[6].ToString();
//what to do for newpoint in newline
到
this.mar1.InnerHtml+= t1[6].ToString()+"<br/>";
//what to do for newpoint in newline
或者您在单个记录中有新行字符,那么您应该这样做
this.mar1.InnerHtml+= t1[6].ToString().Replace("\n", "<br />");