Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Razor asp.net:access javascript变量_C#_Javascript_Asp.net Mvc_Razor - Fatal编程技术网

C# Razor asp.net:access javascript变量

C# Razor asp.net:access javascript变量,c#,javascript,asp.net-mvc,razor,C#,Javascript,Asp.net Mvc,Razor,目前我有: resources: [ { field: "roomId", name: "Rooms", dataSource: { transport: { read: { url: "@Html.Raw( Url.Action( "Fil

目前我有:

resources: [
    {
        field: "roomId",
        name: "Rooms",
        dataSource: {
            transport: {
                read: { 
                    url: "@Html.Raw(
                        Url.Action(
                            "Filter_Rooms", 
                            "Room", 
                            new {
                                pFilter = false, 
                                pCapacity = 25, 
                                pBeamer = true, 
                                pTelevision = false
                            }))", 
                    dataType: "json"
                },
            }
        }
    }
]
过滤器的这些参数
pFilter=false,pCapacity=25,pBeamer=true,pTelevision=false
,现在已硬编码,但实际上我希望它们来自:

HTML

<div class="checkbox">
  <label>
    <input id="chkBeamer" type="checkbox"> Beamer available
  </label>
</div>                              
<a href="#" id="btnFilter" class="btn btn-outline btn-primary btn-lg btn-block">Filter rooms</a>
我可以让javascript使用
pFilter
参数而不是硬编码参数吗


HTMLHidden

<div class="checkbox">
   <label>
     @Html.Hidden("pBeamer", true);
     <input id="chkBeamer" type="checkbox"> Beamer available
   </label>
</div>

有两种方法可以做到这一点:-

1) 这四个字段中的每一个都可以有隐藏字段,单击
btnFilter
,即可填充Javascript函数。使用
资源
时访问这些隐藏字段

@Html.Hidden("pFilter","<value>");
@Html.Hidden(“pFilter”和“);
您可以在下面的代码中访问这些隐藏字段

resources: [
    {
        field: "roomId",
        name: "Rooms",
        dataSource: {
            transport: {
                read: { 
                    url: "@Html.Raw(
                        Url.Action(
                            "Filter_Rooms", 
                            "Room", 
                            new {
                                pFilter = <get value from hidden field>, 
                                pCapacity = <get value from hidden field>, 
                                pBeamer = <get value from hidden field>, 
                                pTelevision = <get value from hidden field>
                            }))", 
                    dataType: "json"
                },
            }
        }
    }
]
资源:[
{
字段:“室友”,
名称:“房间”,
数据源:{
运输:{
读:{
url:“@Html.Raw(
Url.Action(
“过滤室”,
“房间”,
新的{
pFilter=,
P容量=,
pBeamer=,
pTelevision=
}))", 
数据类型:“json”
},
}
}
}
]
2) 您可以在
btnFilter
上为全局变量赋值,单击并在
resources
中使用它,就像您当前所做的那样


我建议您遵循第一种解决方案。

参考资料
您使用的是Javascript,对吗?是的,在Javascript索引中。您可以尝试一下更新后的解决方案吗?我仍然不知道如何访问该Html。隐藏了吗?我在上面编辑了…我无法使用该文档。getElementById。。。当前文档中不存在名称文档context@user3629755你能试试这个吗?这应该行得通。很抱歉我不明白?我仍然不明白如何访问Html。那么隐藏?我在上面编辑。。。
@Html.Hidden("pFilter","<value>");
resources: [
    {
        field: "roomId",
        name: "Rooms",
        dataSource: {
            transport: {
                read: { 
                    url: "@Html.Raw(
                        Url.Action(
                            "Filter_Rooms", 
                            "Room", 
                            new {
                                pFilter = <get value from hidden field>, 
                                pCapacity = <get value from hidden field>, 
                                pBeamer = <get value from hidden field>, 
                                pTelevision = <get value from hidden field>
                            }))", 
                    dataType: "json"
                },
            }
        }
    }
]