Asp.net mvc 我无法在控制器中调用JQuery生成的cookie的值
我创建了一个cookie,用于保存复选框的最后更改状态。cookie是有效的,我已经通过在警报框中传递所述cookie的值证明了这一点。cookie还保存站点上复选框的状态。我需要将cookie的值或当前复选框的值传递给控制器,以便相应地修改JQuery数据表。感谢您的帮助 以下是我的查看脚本:Asp.net mvc 我无法在控制器中调用JQuery生成的cookie的值,asp.net-mvc,jquery,cookies,Asp.net Mvc,Jquery,Cookies,我创建了一个cookie,用于保存复选框的最后更改状态。cookie是有效的,我已经通过在警报框中传递所述cookie的值证明了这一点。cookie还保存站点上复选框的状态。我需要将cookie的值或当前复选框的值传递给控制器,以便相应地修改JQuery数据表。感谢您的帮助 以下是我的查看脚本: $(function () { var oTable = $('#myIssuesTable').dataTable({ "bProcessing":
$(function () {
var oTable = $('#myIssuesTable').dataTable({
"bProcessing": true,
"bServerSide": false,
"bJQueryUI": true,
"sAjaxSource": '@Url.Action("GetIssuesViaAjax", "Exchange")'
});
$('#activeOnly').click(function () {
var activeStatus = $('#activeOnly:checked').val() ?true:false;
$.cookie("showActiveIssues", activeStatus, { expires: 365 }, { path: '/' });
alert($.cookie("showActiveIssues"))
//if (navigator.cookieEnabled)
// alert("ON");
//else
// alert("OFF");
@*$.post("@Url.Action("GetIssuesViaAjax", "Exchange")", { test: activeStatus });*@
@*$.ajax({
url: '@Url.Action("GetIssuesViaAjax", "Exchange")',
type: 'POST',
//dataType: "json",
//contentType: 'application/json',
//traditional: true,
data: {test:"Testarooskie"}*@
});
oTable.fnReloadAjax('@Url.Action("GetIssuesViaAjax", "Exchange")');
});
$('#activeOnly').ready(function ()
{
//alert($.cookie("showActiveIssues"))
var cbCookie = $.cookie("showActiveIssues")
if (cbCookie == 1)
{
//alert("working correctly")
$('#activeOnly').prop('checked', true)
}
else {
//alert("working incorrectly")
$('#activeOnly').prop('checked', false)
}
});
});
</script>
@Html.CheckBox("activeOnly")
@Html.Label("Active Only")</>
你有没有检查fiddler或firebug以确保cookie值随请求一起移动?我没有,此时我在想,我应该尝试使用$.ajax调用将值直接发布到控制器中,如果该值仅在一个或两个actionresults中使用,则更有意义。我无法将复选框值发布到控制器中,因为它用于填充jQuery数据表。我想用复选框修改该表的填充。我需要直接访问cookie值(在firebug lite中显示准确的值),但是请求。cookies[“showActiveIssues”]返回空值。jQuery cookie插件生成的cookie类型会影响如何在控制器中访问它吗?
public class ExchangeController : MultiBase
{
ITExchangeReposity hufDalRepository = new ITExchangeReposity();
SecurityReposity hufDalSecurityRepository = new SecurityReposity();
[HttpPost]
public ActionResult GetIssuesViaAjax(jQueryDataTableParamModel param)
{
//HttpCookie test = Request.Cookies["showActiveIssues"];
//Convert.ToBoolean(HttpContext.Request.Cookies["showActiveIssues"]);
bool cbValue = Convert.ToBoolean(Request.Cookies["showActiveIssues"]);//returns only default value of "false"
//string cbValue = Convert.ToString(Request.Cookies["showActiveIssues"]);//returns an empty value ("").
var issues = hufDalRepository.FindAllIssues(2 , cbValue);
var result = from c in issues
select new[] { c.IDTSSubmitIssue.ToString(), c.Subject, c.IDUser.ToString(), c.ReviewedBy, c.StatusDescription, c.DateSubmitted.ToShortDateString() };
return Json(new
{
sEcho = param.sEcho,
iTotalRecords = issues.Count(),
iTotalDisplayRecords = issues.Count(),
aaData = result
},
JsonRequestBehavior.AllowGet);
}