gpt4 book ai didi

javascript - $(document).ready 在插入 _Layout.cshtml 时有效::在插入 Index.cshtml 时无效

转载 作者:行者123 更新时间:2023-11-30 12:39:42 25 4
gpt4 key购买 nike

我知道如果那是条蛇它会咬我的。但我不明白为什么它在 _Layout 头文件中有效,但在我需要它的特定索引页面中却无效。我看不到在每个使用 _Layout.cshtml 的页面中都有此代码。

这是 IF 在 _Layout 中工作的 jQuery 代码。我将它剪切并粘贴到 Index.cshtml 中,它甚至不会触发警报。它应该做什么:如果另一个输入发生变化,它会清除一个输入(只能按名称或 ID 搜索)。

这里没有表示的是 javascript 周围的标签。我只尝试关闭所有其他代码的警报。由于某种原因,javascript 标记未触发。

$(document).ready(function () {

alert('doc ready in _layout just fired');

$('#SearchString').on('input', function () {
$('#SearchID').val('');
});

$('#SearchID').on('input', function () {
$('#SearchString').val('');
});
});

这在 Index.cshtml 中无论放在哪里都不起作用:

<script type="text/javacript">
alert('code in Index test');
</script>

======================================

所以,这只是:我将单页所需的 jQuery 代码放在一个“.js”文件中,里面只有代码。然后我在我的 Index.cshtml 的顶部引用了这个文件并且它有效:

  <script src="@Url.Content("~/Scripts/search.js")" type="text/javascript"></script>

现在,这是一个很好的解决方法,它为那些喜欢这样的人提供了一定程度的分离,但我讨厌说这是为什么 Index.cshtml 绕过带有 jQ​​uery 代码的 javacript 标签的答案。所以我没有回答我的问题,只是说这可能会帮助其他几乎拔掉所有头发的人。 . . .

最佳答案

你在使用 Razor 引擎吗?这就是我通常拥有的...

在_layout.chstml中

<head>
@RenderSection("Head", false)
</head>

然后在你的视野中

@section Head {
<script type="text/javascript">
$(document).ready(function () {
// your code goes here
});
</script>
}

关于javascript - $(document).ready 在插入 _Layout.cshtml 时有效::在插入 Index.cshtml 时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24895244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com