ASP.NET MVC将div中范围的innerHTML文本传递给控制器

时间:2018-08-30 14:31:00

标签: javascript html asp.net-mvc razor

我目前正在尝试从跨度获取字符串并将其存储在javascript字符串变量中。接下来,当我单击HTML.ActionLink搜索按钮时,尝试传递数据。 为简单起见,我只添加了相关的代码。

这是我视图中的代码: 这是javascript部分:

<script type="text/javascript">
$(document).ready(function () {
    $(document).on('click', '#search', function () {
        var tags = '';
        var spans = document.getElementById('imaginary_container').getElementsByTagName('span'),
        obj = {};

        for (var i = 0, l = spans.length; i < l; i++) {
            obj[spans[i].id] = spans[i].textContent || spans[i].innerText;
            tags.concat(obj[spans[i].id]);
        }

        // save private tags

    })
});

然后在具有按钮的位置下面有这个div:

<div class="buttonBox">
            @Html.ActionLink("Search",
                "SearchAll",
                "Search",
                new { tags = ViewBag.Tags },
                new
                {
                    @class = "btn btn-primary",

                }
                )
        </div>

    </div>

我已经研究了这个问题,人们说这要么是不可能的,要么是过时的答案。但是,如果我朝错误的方向前进,有人可以指出实现此目标的方法吗?

更多上下文: 该应用程序在首页上显示标签,您可以单击并移动到另一个div作为跨度,我需要将所选标签的数据作为字符串发送回去,因此我可以在另一页上查询响应以显示文件和链接这些标签。

Front Page

更新:

我添加了一个带有后期操作和隐藏输入的表单,用于存储 跨度的值。

现在还可以处理标记重新定位的javascript函数 将范围的innerText添加到我的隐藏输入中。

 $(document).ready(function () {

        $(document).on('click', '.delete-button', function () {

            var newSpan = document.createElement('span');
            document.getElementById('imaginary_container').appendChild(newSpan);
            newSpan.innerHTML = $(this).html();
            var tags = $("#tags");
            var tags = "";
            var spans = document.getElementById('imaginary_container').getElementsByTagName('span'),
            obj = {};
            tags += spans[0].innerText;
            for (var i = 1, l = spans.length; i < l; i++) {
                tags += ',' + spans[i].innerText;
            }

            $("#tags").val(tags);

            $(this).remove();
        })
    });

和一个简单的隐藏输入:

<input type="hidden" id="tags" name="Tags" />

现在工作正常!

0 个答案:

没有答案