gpt4 book ai didi

javascript - 在中断 Javascript 中拆分字符串(来自 C# 函数)

转载 作者:行者123 更新时间:2023-11-30 18:07:45 25 4
gpt4 key购买 nike

您好,我的 asp 中有一段代码可以从 mysql 数据库中请求一些时间

C#代码

        string cmd = "SELECT DepartureTime FROM dbtest";
MySqlCommand mycmd = new MySqlCommand(cmd, conn);
MySqlDataReader dataReader = mycmd.ExecuteReader();

while (dataReader.Read())
{
times += dataReader.GetString(0) + "\n";
}
dataReader.Close();

Javascript

 function SendForm() {
PageMethods.ConnectDatabase(OnSucceeded, OnFailed);
function OnSucceeded(msg) {
var vierkant = document.getElementById("Vierkant");
var context = vierkant.getContext('2d');

context.font = '15pt Calibri';
context.fillStyle = 'blue';
context.fillText('Departure Times bus X19:' + msg, 150, 100);
}

当我在我的 javascript 中调用这个函数时,它在一行中给出了所有时间

我喜欢在每个结果后休息一下,我认为在我的 C# 代码中噘嘴一个“\n”就足够了

我该如何解决这个问题?

谢谢


我试过做以下但还是不行

我的 Canvas 或变量“msg”有问题吗?

Javascript:

 var msg;
function Connect() {
PageMethods.ConnectDatabase(OnSucceeded, OnFailed);

function OnSucceeded(msg)
{

//Set context + Formatting
var context = document.getElementById("canvas").getContext('2d');
context.font = '15pt Calibri';
context.textAlign = "center";
context.textBaseline = "top";
context.fillStyle = 'blue';

//Prepare textarea value to be drawn as multiline text
var textval = msg.value;
var textvalArr = toMultiLine(textval);
var linespacing = 25;
var startX = 0;
var startY = 0;

//Draw each line on canvas.
for (var i = 0; i < textvalArr.length; i++) {
context.fillText(textvalArr[i], x, y);
y += linespacing;
}
}

//Create an array where the <br/> tag splits the values.
function toMultiLine(text) {
var textArr = new Array();
text = text.replace(/\n\r?/g, '<br/>');
textArr = text.split("<br/>");
return textArr;


/*var vierkant = document.getElementById("canvas");
var context = vierkant.getContext('2d');
//formatting
context.font = '15pt Calibri';
context.fillStyle = 'blue';

context.fillText('Departure Times bus X19:' + msg, 150, 100);*/
}

function OnFailed(error) {
alert("failed");
}

}

HTML:

  <form id="Form1" runat="server">

    <input type="button" onclick="return Connect()" value="Bushours:" />

<canvas id="canvas" width="1900" height="200">Test<code>&lt;canvas&gt;</code> element.
</canvas>

最佳答案

如果你想休息而不是使用<br/>而不是 \n

因此您的 C# 代码将如下所示:

times += dataReader.GetString(0) + "<br/>";

因为 \n不会在 break 中被解释,但是 <br/>

此答案中有一个如何执行此操作的示例:HTML5 canvas ctx.fillText won't do line breaks?

关于javascript - 在中断 Javascript 中拆分字符串(来自 C# 函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15389173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com