jQuery document.ready + Asp.Net ContentPlaceholder 导致 Visual Studio 智能问题

发布于 2024-09-01 04:42:00 字数 1147 浏览 2 评论 0 原文

我想在文档准备好时执行 JavaScript,而不需要太多语法开销。这个想法是使用 Site.MasterContentPlaceholder

<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 会抱怨并发出警告。

母版页中的警告是 行的预期表达式

在继承的页面中,警告是无法在当前母版页或页面中找到“OnReadyScript”。

我尝试在母版页中使用Writer.Write来呈现脚本 code> 标签和包装代码:

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

但页面渲染在打开脚本标签渲染后终止。 Html 基本上以

<script type="text/javascript">

How can I make it work?结尾?

I want to execute JavaScript when document is ready without much syntax overhead. The idea is to use Site.Master and ContentPlaceholder:

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

and in inherited pages just write plain code:

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

It works fine but Visual Studio complains and gives warnings.

Warning in master page is Expected expression at the line <asp:ContentPlaceHolder.

In inherited pages warning is Could not find 'OnReadyScript' in the current master page or pages.

I tried using Writer.Write in master page to render script tag and wrapping code:

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

but page rendering terminates after opening script tag is rendered. Html basically ends with

<script type="text/javascript">

How can I make it work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

却一份温柔 2024-09-08 04:42:01

这是 Visual Studio 语法突出显示中的一个错误。

尝试

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

This is a bug in Visual Studio's syntax highlighting.

Try

<%= @"<script type=""text/javascript"">$(document).ready(function () {" %>
<asp:ContentPlaceHolder ID="OnReadyScript" runat="server" />
<%= @"});" %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文