当前位置 : 主页 > 网页制作 > JQuery >

jquery – 如何在使用Razor的javascript块变量中使用C#变量?

来源:互联网 收集:自由互联 发布时间:2021-06-15
我有一个视图文件(.cshtml)在文件顶部有这个C#块: @{Liststring selectedCategories = new Liststring(); } 以及我想在以下javascript块中使用selectedCategories列表 @section scripts{script src="../../Scripts/jquery-1.
我有一个视图文件(.cshtml)在文件顶部有这个C#块:

@{
List<string> selectedCategories = new List<string>();

}

以及我想在以下javascript块中使用selectedCategories列表

@section scripts{
<script src="../../Scripts/jquery-1.6.4-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $("#list-all-categories").selectable({
            stop: function () {
                var result = $("#selectedCategories").empty();
                @selectedCategories.Clear()
                $(".ui-selected", this).each(function () {
                    var Mytext = $(this).text();

                    @selectedCategories.Add(Mytext.toString());

                });

            }
        });
    });
</script>

}

所以,它不起作用!……一点都没有!

我有一些这样的错误:
– 关闭了条件编译
– 当前上下文中不存在名称“Mytext”
-…

我该怎么办?!
请帮帮我!

> Javascript在浏览器中运行.
> Razor代码在网络服务器中运行

你不能这样混合它们.

您需要仅使用jQuery创建表单元素,然后将它们发布回sevrer.

<script type="text/javascript">
    $(document).ready(function () {
        $("#list-all-categories").selectable({
            stop: function () {
                $(".selectedItems").remove();
                $(".ui-selected", this).each(function () {
                var Mytext = $(this).text();
                $('#myform').append('<input type="hidden" name="selectedCategory" value="' + MyText + '" class="selectedItems" />');
            });
        });
    });
</script>

将“myform”更改为已发布的表单.

然后你得到的项目如下:

public ActionResult YourAction(string[] selectedCategory)
{
}
网友评论