Ошибка компиляции в этой строке - PullRequest
0 голосов
/ 11 сентября 2009

Я пытаюсь создать следующую строку:

<script runat="server" type="text/C#">
    protected void Page_Load(object sender, EventArgs e)
    {
        Parent.Page.ClientScript.RegisterStartupScript(typeof(Page), "test", "<script type='text/javascript' langauage='javascript' src='test.js'></script>");
    }
</script>

все же я получаю ошибку компиляции в VS, говорящую "Новая строка в константе"

Ответы [ 3 ]

2 голосов
/ 11 сентября 2009
"<script type='text/javascript' langauage='javascript' src='test.js'></script>"

Ну да, у вас есть строка, содержащая внутри элемента. Это закрывает внешний , поэтому код, который находится внутри вашего скрипта runat-server, выглядит просто так:

protected void Page_Load(object sender, EventArgs e)
{
    Parent.Page.ClientScript.RegisterStartupScript(typeof(Page), "test", "<script type='text/javascript' langauage='javascript' src='test.js'>

И, как говорится в сообщении об ошибке, он содержит "строку без завершающих двойных кавычек.

Попробуйте экранировать символы, чтобы другой блок скриптов не видел их как разметку:

"\x3Cscript type='text/javascript' src='test.js'>\x3C/script>"
1 голос
/ 11 сентября 2009

Ваша проблема - тег конца скрипта

http://support.microsoft.com/kb/827420

Решите это с помощью:

".....<"+"/SCRIPT>"

или, может быть

".....<\/script>"

Используйте взамен ClientScriptManager и используйте RegisterClientScriptInclude. Таким образом, вам нужно только указать имя файла в строке.

ClientScriptManager.RegisterClientScriptInclude

ClientScriptManager scriptManager = new ClientScriptManager(); scriptManager.RegisterClientScriptInclude("filename.js");
0 голосов
/ 11 сентября 2009
@"<script language="Javascript" src="/utility/thickbox/thickbox-custom.js"></script>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...