0

ドキュメントの準備ができたら、構文のオーバーヘッドをあまりかけずに JavaScript を実行したいと考えています。アイデアは、Site.Masterandを使用すること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(@"});"); %>

ただし、open script タグがレンダリングされた後、ページのレンダリングは終了します。HTMLは基本的に次で終わります

<script type="text/javascript">

どうすればそれを機能させることができますか?

4

1 に答える 1

0

これは、Visual Studio の構文強調表示のバグです。

試す

<%= @"<script type=""text/javascript"">$(document).ready(function () {" %>
<asp:ContentPlaceHolder ID="OnReadyScript" runat="server" />
<%= @"});" %>
于 2010-05-13T04:14:57.707 に答える