我想在我的WebPage中验证两个TextBox,并且我想在消息框中显示验证消息。我想在新行中显示这两个验证消息。 我确实喜欢这个:
ErrorMsg="";
if (TextBox1.Text == "")
{
ErrorMsg += "Name is required!";
ErrorMsg += "\n";
}
if (TextBox2.Text == "")
{
ErrorMsg += "Address is required!";
}
ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), Guid.NewGuid().ToString(), "window.alert('" + ErrorMsg + "')", true);
return;
但它没有显示消息框。
如果我删除编码行 ErrorMsg + =“\ n”; 在上面的代码中。它只是连接两个字符串并显示消息框。
如何在NewLine中显示?
答案 0 :(得分:1)
您需要像下面那样转义换行符,以阻止它作为文字换行符输出到浏览器:
string ErrorMsg = "";
if (TextBox1.Text == "")
{
ErrorMsg += "Name is required!";
ErrorMsg += "\\n";
}
if (TextBox2.Text == "")
{
ErrorMsg += "Address is required!";
}
ScriptManager.RegisterClientScriptBlock(this.Page, typeof(UpdatePanel), Guid.NewGuid().ToString(), "window.alert('" + ErrorMsg + "')", true);
return;
这应该在浏览器中产生以下内容:
window.alert('Name is required!\nAddress is required!')
之前的位置是输出(由于字符串常量中的换行而失败):
window.alert('Name is required!
Address is required!')