jquery - 如何使用 Razor 在 javascript block 变量中使用 C# 变量?

标签 jquery asp.net-mvc-3 razor

我有一个 View 文件(.cshtml),文件顶部包含此 C# block :

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

}

我想在下面的 javascript block 中使用 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 创建表单元素,然后将它们发送回服务器。

<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)
{
}

关于jquery - 如何使用 Razor 在 javascript block 变量中使用 C# 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7608800/

相关文章:

c# - ASP.NET MVC 3 + Razor 错误 : Child actions are not allowed to perform redirect actions

javascript - 在 KineticJS 中按类名从阶段获取多个对象

javascript - 在内容更改时对内联 block 元素进行动画换行

javascript - 如何消除此错误(通过选择器查找元素)

c# - 如何从 c# (asp.net mvc) 中的文本中提取所有 url

asp.net - 是否有一种模式可以用来编辑 MVC3 应用程序中的下拉列表?

javascript - 将变量从 jQuery ajax 传递到 nodejs

c# - 根据c#中的元素大小对数组进行排序并返回数组的索引

asp.net-mvc - 使用 ToExpando 方法的问题

asp.net-mvc-3 - 指定 Html.TextBoxFor 的大小和最大长度