在MessageBox中显示NewLine中的验证消息:

时间:2011-08-03 07:40:59

标签: c# asp.net visual-studio-2008

我想在我的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中显示?

1 个答案:

答案 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!')