Я хочу выполнить 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">
Как я могу заставить его работать?