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"
},
}
}
}
]