我正在研究asp.net MVC 5,参考我的问题,我在我的页面中添加了一个bootstrap切换开关,剃刀语法是下面的
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset style="height:60px">
<legend style="text-align:center; font-size:large; font-family:'Times New Roman'; background-color:#C8E6C9; color:red">Remote On/Off</legend>
<input id="test_id" name="cmdName" type="checkbox" checked data-toggle="toggle">
</fieldset>
}
此剃刀语法放置在局部视图中,并在布局中调用
生成的“切换”按钮如下
现在,我想将此On或Off值(字符串)传递给我的action方法。
首先,我已经放置了一个javascript事件功能,它只是显示警告框显示On或Off以及相应的开关条件
我的脚本如下
<script>
$("#test_id").on("change", function (event) {
if ($(this).is(":checked")) {
alert("ON");
} else {
alert("Off");
}
}); </script>
为了传递打开或关闭,我搜索了很多文章,发现ajax调用用于此目的,所以我在if和else条件下放置了一个ajax调用
if ($(this).is(":checked")) {
$.ajax({
url: '@Url.Action("MultiGraph")',
data: '{"cmdName": "On"}',
success: function (data) {
alert(data);
}
});
} else {
$.ajax({
url: '@Url.Action("MultiGraph")',
data: '{"cmdName": "Off"}',
success: function (data) {
alert(data);
}
});
}
贝娄是我的行动方法
public ActionResult MultiGraph(string search, string start_date, string cmdName , string End_date,int? page)
{
// i want to pass On or Off values based on switching in my string cmdName
}
还有其他方式而非ajax调用吗?或者我应该在我的ajax电话中做些什么?
更新代码
在我的剧本中,我做了以下
$("#test_id").on("change", function (event) {
if ($(this).is(":checked")) {
//alert("ON");
var data = { cmdName: "On" }
} else {
//alert("Off");
$.ajax({
url: '@Url.Action("MultiGraph")',
data: data,
});
}
});
参见下面的图像
在cmdName
我无法通过它们,我必须遗漏一些我不知道的事情
任何帮助将不胜感激