我有两组基于JavaScript / Razor的功能,它们几乎是相同的,但是一组可以按预期工作,而另一组则不能。
实际上,第二组(无效)的控制器操作,部分视图和脚本是直接从第一组(有效)复制粘贴的。我所做的唯一更改是删除了一个不必要的ID(OP应该指定要传递的位置),运行代码,但是它没有用。
有人可以指出我在做什么吗?
这两个集合都旨在调用执行以下操作的控制器方法:
第一个(功能性)设置正确获取视图并将其显示在指定的div中。第二组(非功能性)集获取视图,但随后加载仅包含该视图的新空白页面。
以下都是非功能集
<script type="text/javascript">
$(document).ready(function () {
$('.rollInit').on('click', function (e) {
e.preventDefault();
$.get('@Url.Action("RollInits")', function (result) {
$('#initiativerolls').prepend(result);
});
});
});
</script>
public ActionResult RollInits()
{
RNGCSP rng = new RNGCSP();
var inits = new List<VMInitiatives>();
foreach (var init in db.Initiatives)
{
var newInit = new VMInitiatives()
{
Result = init.CharacterName + ": " + (rng.RollDice(20) + init.InitiativeBonus).ToString()
};
inits.Add(newInit);
}
return PartialView("_InitResult", inits);
}
@model IEnumerable<WagersDesigns.ViewModels.VMInitiatives>
<table>
<tbody>
@foreach (var roll in Model)
{
<tr>
<td>
@roll.Result
</td>
</tr>
}
</tbody>
</table>
...
<tbody>
<tr>
<td valign="top">
<diV id="resultList">
</diV>
</td>
<td valign="top" align="center">
<button id="clear" onclick="clearcontent('resultList')">Clear Rolls</button>
</td>
<td valign="top">
<div id="initiatives">
@* display list of all character initiatives *@
</div>
</td>
<td valign="top">@Html.ActionLink("Roll Init", "RollInits", new { @class = "rollInit" }) |</td>
<td valign="top">
<div id="initiativerolls">
</div>
</td>
<td valign="top" align="center">
<button id="clear" onclick="clearcontent('initiativerolls')">Clear Initiatives</button>
</td>
</tr>
</tbody>
...