Don';t在PartialView中运行javascript函数
我在母版页中添加了一个js文件。并在视图中使用它Don';t在PartialView中运行javascript函数,javascript,asp.net-mvc,asp.net-mvc-4,Javascript,Asp.net Mvc,Asp.net Mvc 4,我在母版页中添加了一个js文件。并在视图中使用它 <div class="control-group"> @Html.LabelFor(model => model.Computers, new { @class = "control-label" }) <div id="computersEditorRows" style="clear: both; margin-right: 30px; padding: 10px; border: 1px solid rgb(2
<div class="control-group">
@Html.LabelFor(model => model.Computers, new { @class = "control-label" })
<div id="computersEditorRows" style="clear: both; margin-right: 30px; padding: 10px; border: 1px solid rgb(204, 204, 204);">
@foreach (var item in Model.Computers)
{
Html.RenderPartial("_ComputersEditorRow", item);
}
</div>
<a id="addItemcomputer" style="cursor: pointer;">AddItem</a>
</div>
但当我在Partialview中使用它时,不要调用函数。我在部分视图中使用此html代码,但不调用$(“#addItemcomputer”)。单击
局部视图
@model PSYCO.Web.Sepid.ViewModels.ComputerViewModel
@using PSYCO.Web.Sepid.Helpers;
<div class="control-group">
@using (Html.BeginCollectionItem("Computers"))
{
<div class="control-group">
@Html.LabelFor(model => model.Computers, new { @class = "control-label" })
<div id="computersEditorRows" style="clear: both; margin-right: 30px; padding: 10px; border: 1px solid rgb(204, 204, 204);">
@foreach (var item in Model.Computers)
{
Html.RenderPartial("_ComputersEditorRow", item);
}
</div>
<a id="addItemcomputer" style="cursor: pointer;">Add Item</a>
</div>
<a class="removeItemNationality" style="cursor: pointer;">Delete</a>
}
</div>
@model PSYCO.Web.Sepid.ViewModels.ComputerViewModel
@使用PSYCO.Web.Sepid.Helpers;
@使用(Html.BeginCollectionItem(“计算机”))
{
@LabelFor(model=>model.Computers,新的{@class=“control label”})
@foreach(Model.Computers中的var项)
{
Html.RenderPartial(“\u ComputersEditorRow”,项目);
}
添加项
删去
}
编辑
在局部视图中添加此部分
@section Scripts
{
<script>
$(document).on("click","#addItemcomputer",function () {
alert('d');
})
</script>
}
@节脚本
{
$(文档)。在(“单击”上,“#添加计算机”,函数(){
警报('d');
})
}
应在PartialView中添加脚本
在局部视图中使用脚本链接
<script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script>
或在局部视图中使用脚本标记。(不能在局部视图中使用节)
$(“#添加计算机”)。单击(函数(){
$.get(“/TechnicalOfficerService/AddComputerNewRow”,函数(数据){
$(“#计算机编辑行”)。追加(数据);
}).失败(功能(xhr,错误){
警报(“readyState:+xhr.readyState+”\n状态:+xhr.status);
警报(“responseText:+xhr.responseText”);
});
});
那么错误是什么呢。脚本没有被调用或者/TechnicalOfficerService/AddComputerNewRow是404。我在视图中使用它,这是工作。但是当我在部分视图中使用它时,不要运行函数。如何在部分视图中使用它?在浏览器右键单击并查看源代码时,您可以看到html中的#addItemcomputer链接,我认为@using(html.BeginCollectionItem(“Computers”))有一些问题,其中的html无法获得渲染您不能在部分视图中使用节。
<script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script>
<script>
$("#addItemcomputer").click(function () {
$.get("/TechnicalOfficerService/AddComputerNewRow", function (data) {
$("#computersEditorRows").append(data);
}).fail(function (xhr, err) {
alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status);
alert("responseText: " + xhr.responseText);
});
});
</script>