jQuery document.ready + Asp.Net ContentPlaceholder вызывает проблемы с интеллектом Visual Studio - PullRequest
0 голосов
/ 13 мая 2010

Я хочу выполнить JavaScript, когда документ готов без особых накладных расходов на синтаксис. Идея состоит в том, чтобы использовать Site.Master и ContentPlaceholder:

<script type="text/javascript">
    $(document).ready(function () {
        <asp:ContentPlaceHolder ID="OnReadyScript" runat="server" />
    });
</script>

и на унаследованных страницах просто напишите простой код:

<asp:Content ID="Content3" ContentPlaceHolderID="OnReadyScript" runat="server">
    $("#Login").focus();
</asp:Content>

Работает нормально, но Visual Studio жалуется и выдает предупреждения.

Предупреждение на главной странице: Expected expression в строке <asp:ContentPlaceHolder.

На унаследованных страницах предупреждение: Could not find 'OnReadyScript' in the current master page or pages.

Я пытался использовать Writer.Write на главной странице для отображения тега script и кода переноса:

<% Writer.Write(@"<script type=""text/javascript"">$(document).ready(function () {"); %>
<asp:ContentPlaceHolder ID="OnReadyScrit" runat="server" />
<% Writer.Write(@"});"); %>

но рендеринг страницы прекращается после открытия тега скрипта открытия. HTML в основном заканчивается на

<script type="text/javascript">

Как я могу заставить его работать?

1 Ответ

0 голосов
/ 13 мая 2010

Это ошибка в подсветке синтаксиса Visual Studio.

Попробуйте

<%= @"<script type=""text/javascript"">$(document).ready(function () {" %>
<asp:ContentPlaceHolder ID="OnReadyScript" runat="server" />
<%= @"});" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...