@Html.ActionLink中未调用Javascript
我有以下javascript test.js文件:@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注入页面上
$("#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(在
标记中)因为代码似乎不可重用。它只对这个特定页面严格有效,对吗?