在C#块中使用javascript变量

时间:2018-02-05 10:39:05

标签: javascript c# asp.net-mvc

我试图通过javascript获取变量并在我的C#块中使用它,但它看起来不可能。

这是我的HTML:

let str = "abc/abc";
let x = /^[a-z]{3}\/[a-z]{3}$/i;
console.log(x.test(str));   // ==> true

这是我的javascript代码:

<select class="form-control" id="Category">
    @foreach (var item in Model.Categori)
    {
        <option value="@item.CategoriId">@item.CategoriName</option>
    }
</select>
<div id="Container"></div>

有可能做那样的事吗?如果没有另外的方法?

1 个答案:

答案 0 :(得分:1)

你需要这样的东西:

<script> 
var data = [
        @foreach (var item in dataList)
        {
            @Html.Raw("'"+item+"',")
        }
    ];
    $('#Category').on('change', function (e) {
        var lst = data.find(/*Your condition*/);
        for (var i = 0; i < lst.length; i++) {
            $("#Content").append("<p>hello</p>" + data[i] + "<br/>");
        }
    };
</script>

dataList是来自服务器的数据。

但是通过这种方式,您应该从服务器获取所有数据并将其放入javascript data数组中。然后,您应该通过查找lst数组来生成data

但是使用ajax比这个剃刀代码更好。