Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
@Html.ActionLink中未调用Javascript_Javascript_Jquery_Asp.net Mvc 3_Razor - Fatal编程技术网

@Html.ActionLink中未调用Javascript

@Html.ActionLink中未调用Javascript,javascript,jquery,asp.net-mvc-3,razor,Javascript,Jquery,Asp.net Mvc 3,Razor,我有以下javascript test.js文件: $("#addItem").click(function () { alert("yup"); $.ajax({ url: this.href, cache: false, success: function (html) { $("#bandRows").append(html); } }); return false; }); 我想用它将一些HTML注入页面上

我有以下javascript test.js文件:

$("#addItem").click(function () {
    alert("yup");
    $.ajax({
        url: this.href,
        cache: false,
        success: function (html) { $("#bandRows").append(html); }
    });
    return false;
});
我想用它将一些HTML注入页面上的“bandRows”div中。我在MVC 3应用程序中使用Razor,如下所示:

索引视图,其中包含一个链接,当单击该链接时,会注入一个部分视图HTML:

@model IEnumerable<TariffBand>

        <script type="text/javascript" src="=@Url.Content("~/Scripts/jquery-1.3.2.js")"></script>
        <script type="text/javascript" src="=@Url.Content("~/Scripts/MicrosoftAjax.js")"></script>
        <script type="text/javascript" src="=@Url.Content("~/Scripts/test.js")"></script>

    <h2>Index</h2>

    @using (Html.BeginForm())
    {
    <div id="bandRows">
        @foreach (var band in Model)
        {
            Html.RenderPartial("BandEditorRow", band);
        }
    </div>

    @Html.ActionLink("Add band...", "Add", null, new { id = "addItem" })

    <input type="submit" value = "Done" />
@model IEnumerable
指数
@使用(Html.BeginForm())
{
@foreach(模型中的var波段)
{
Html.RenderPartial(“BandEditorRow”,band);
}
@ActionLink(“添加带…”,“添加”,空,新{id=“addItem”})
此时,当我单击链接时,javascript没有被调用-警报框没有显示-链接只是导航到“添加”部分视图,而不是将其注入“bandRows”div

有人能告诉我为什么吗?我以前没有使用过javascript,所以我显然做了一些愚蠢的事情,但我一辈子都做不出来

编辑-我已经修改了.js文件,使处理程序适用于单击非onclick。我还尝试将html帮助程序修改为:

@Html.ActionLink(“添加带…”,“添加”,空,新的{onclick=“addItem”}
,但仍然没有骰子

谢谢 大卫

你有

$("#addItem").onclick(function () 
没有什么比得上
$。单击

这将是

$("#addItem").click(function () 
编辑
$().ajax({
应该是
$.ajax({

整个代码应该在
document.ready()中

$(document).ready(function(){
   $("#addItem").click(function (){
   .
   .
   .
});
编辑-2 正如您承认您对javascript世界非常陌生一样,我将给出详细代码:

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

<h2>Index</h2>

<script type="text/javascript">
    $(document).ready(function(){
        $("#addItem").click(function (){
            alert("yup");
            $.ajax({
                url: this.href,
                cache: false,
                success: function (html) { 
                    $("#bandRows").append(html); 
                }
            });
            return false;
        };  
    });
</script>

@*  *@
指数
$(文档).ready(函数(){
$(“#添加项”)。单击(函数(){
警惕(“是”);
$.ajax({
url:this.href,
cache:false,
成功:函数(html){
$(“#bandRows”).append(html);
}
});
返回false;
};  
});

document ready
是您在启动
jQuery
时需要学习的一个非常初步的东西。是
ready
事件的API文档。也是理解
document ready

的教程。谢谢Mohaymin,但是当我更改为时。单击脚本仍然没有调用。甚至没有警报?您添加了吗他在
document.ready()
中编写了脚本?甚至没有警告!脚本是根据上面的.cshtml文件添加的,因此不确定这是否意味着是或否-抱歉,我以前从未使用过javascript(你可能会知道)。我如何在document.ready()中添加脚本?我已经编辑了我的答案。请检查并让我知道。我在接下来的2个小时内将不可用。我希望我已经添加了您需要的所有内容。哦,我明白了,我遗漏了一些内容。您的javascript位于单独的文件中。好吧,我将在视图中执行此javascript(在
标记中)因为代码似乎不可重用。它只对这个特定页面严格有效,对吗?