this is my code which i have done so please help....Thank you......... any suggestion will be thankful..
This is My Action Result
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult FilterByPara(Guid SubCategoryId, string BrandId , decimal Price1 = 0, decimal Price2 = 0, string SelPara = "")
{
try
{
if (BrandId != null && BrandId != "")
{
Guid[] brand = BrandId.Split(',').Select(s => Guid.Parse(s)).ToArray();
var products = (from p in db.Products
join sc in db.SubCategories
on p.SubCategoryId equals sc.SubCategoryId
where sc.SubCategoryId == SubCategoryId
&& p.Price >= Price1 && p.Price <= Price2
&& brand.Any(x => x == p.BrandId) // p.BrandId.Contains(@brand)
select p).ToList();
ViewBag.Subid = SubCategoryId;
return View("FilterByPara",products); // <-- I Get all products which is checked here it passes the data to my view but after that it shows Resourse could not found
//return Json(products,JsonRequestBehavior.AllowGet );
}
else
{
var products = (from p in db.Products
where p.SubCategoryId == SubCategoryId
select p).ToList();
if (products.Count > 0)
{
ViewBag.Subid = SubCategoryId;
return View(products);
}
else
{
return RedirectToAction("Error", "Home");
}
}
}
catch (Exception ex)
{
throw ex;
}
}
This is My Partial View Where i call ajax to retrieve checked Data
<script type="text/javascript">
$(document).ready(function () {
var qs = (function (a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i) {
var p = a[i].split('=', 2);
if (p.length == 1)
b[p[0]] = "";
else
b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'));
subid = qs["SubCategoryId"];
var originalVal;
$('#ex2').slider().on('slideStart', function (ev) {
originalVal = $('#ex2').data('slider').getValue();
});
$('#ex2').slider().on('slideStop', function (ev) {
var newVal = $('#ex2').data('slider').getValue();
if (newVal != null) {
price1 = newVal[0];
price2 = newVal[1];
}
RefreshItems();
});
$('.para').on('change', '[type=checkbox]', function (e) {
price1= @price1;
price2= @price2;
RefreshItems();
});
});
function RefreshItems() {
var par = "";
var chk = 0;
var s = $(".para").toArray();
var br = [];
var sPara = [];
for (var i = 0; i < s.length; i++) {
var t = $(s[i]).attr("id");
if ($(s[i]).attr("id") == "Brand") {
var values = $('input:checkbox:checked.' + $(s[i]).attr("id")).map(function () {
br.push(this.id);
}).get();
}
else {
//t = t.substring(2, t.length);
t += "~";
var str = "~";
var values = $('input:checkbox:checked.' + $(s[i]).attr("id")).map(function () {
str += + this.id + ",";
sPara.push(t);
sPara.push(this.id);
}).get();
str = str.substring(1, str.length);
t += str + "^";
par += t;
}
}
$.ajax({
type: "POST",
url: '@Url.Action("FilterByPara","Home")',
data: JSON.stringify(),
data: "{ 'BrandId': '" + br.join(',') +
"', 'SubCategoryId': '" + subid + "', 'Price1': '" + price1 + "', 'Price2': '" + price2
+ "', 'SelPara': '" + sPara + "' }",
contentType: 'application/json; charset=utf-8',
datatype: "Json",
success: function (data) {
alert('Success');
s = data;
{window.location = '@Url.Action("FilterByPara","Home")'}
},
error: function (err, result) {
alert(err.responseText + result);
}
});
}
And My View FilterByPara
@model IEnumerable<MeeraGarments.Models.Product>
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div>
@{
foreach (var item in Model)
{
@item.ProductsId // I retrieve ProductsId too but after pass from here it shows resource could not found..
}
}
</div>
<b>Hello</b>
</body>
</html>