两个几乎完全相同的JavaScript;一种有效,另一种无效

时间:2019-06-30 02:39:48

标签: javascript razor

我有两组基于JavaScript / Razor的功能,它们几乎是相同的,但是一组可以按预期工作,而另一组则不能。

实际上,第二组(无效)的控制器操作,部分视图和脚本是直接从第一组(有效)复制粘贴的。我所做的唯一更改是删除了一个不必要的ID(OP应该指定要传递的位置),运行代码,但是它没有用。

有人可以指出我在做什么吗?

用例+预期行为:

这两个集合都旨在调用执行以下操作的控制器方法:

  1. 获取部分结果视图
  2. 在指定(且为空)的div中显示“部分结果”视图。

当前行为:

第一个(功能性)设置正确获取视图并将其显示在指定的div中。第二组(非功能性)集获取视图,但随后加载仅包含该视图的新空白页面。


以下都是非功能集

JS脚本:

    <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>
...

0 个答案:

没有答案