我知道如果它是一条蛇,它会让我咬伤。但我不明白为什么它在_Layout头文件中有效,但在我需要的特定索引页面中却没有。我无法在使用_Layout.cshtml的每个页面中看到此代码。
这是在_Layout中使用IF的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绕过javacript标签并使用jQuery代码的答案。所以我没有回答我的问题,只是这样说它可能会帮助其他几乎全部拔掉头发的人。 。 。
答案 0 :(得分:3)
你在使用剃须刀引擎吗?这就是我通常拥有的......
在_layout.chstml
中<head>
@RenderSection("Head", false)
</head>
然后在你的视图中
@section Head {
<script type="text/javascript">
$(document).ready(function () {
// your code goes here
});
</script>
}