Jquery 基于asp.net mvc中的搜索条件填充数据#
我有一个产品列表页面。所有产品的展示均基于3个标准:Jquery 基于asp.net mvc中的搜索条件填充数据#,jquery,asp.net,asp.net-mvc,Jquery,Asp.net,Asp.net Mvc,我有一个产品列表页面。所有产品的展示均基于3个标准: 当用户单击左侧菜单时 当用户在搜索文本框中输入并搜索时 当用户在品牌组合框中选择时 这是由于用户单击以下列表而导致的考试url: :显示depId=1且categoryID=2的产品 :显示品牌名称为“ABC”且品牌id为2的产品 :显示产品名称为“ABCD”的产品 问题:当用户单击下面的每个链接时,页面将刷新,因此我无法将参数字符串混合在一起。我想将这3个条件结合在一起,这意味着当用户单击(1)然后继续(2)和(3)时,url将: 因此,
function SearchClick() {
window.location = "/Products?tab=2" + ($("#txtsearch").val() != "" || $("#txtsearch").val()
== "undefined" ? "&search=" + $("#txtsearch").val() : "");
}
高级版谢谢。我注意到您正在使用jQuery,我建议您:
//using Request.Params
string Dept = Request.Params["dep"];
string Cat = Request.Params["cat"];
string Brand = Request.Params["brand"];
//capture the char after '?' or '&' and pass into Params["char"]
//do your search function.
链接将帮助您
如果要在页面刷新后保留它,可以将其存储在会话中
string theDept = Request.Params["dep"];
Session["dep"] = aa;
string dep = (string)Session["dep"];
我注意到您正在使用jQuery,我建议:
//using Request.Params
string Dept = Request.Params["dep"];
string Cat = Request.Params["cat"];
string Brand = Request.Params["brand"];
//capture the char after '?' or '&' and pass into Params["char"]
//do your search function.
链接将帮助您
如果要在页面刷新后保留它,可以将其存储在会话中
string theDept = Request.Params["dep"];
Session["dep"] = aa;
string dep = (string)Session["dep"];
这应该让你开始
后端:
- 创建一个具有3个属性的SearchModel:搜索、品牌、dep
- 在搜索模型中有一个动作产品
前端:
- 创建一个发布到上面的产品操作的表单,确保它有一个提交按钮
- 在该表单中创建一个id/name为“search”的文本框
- 在该表单中创建一个id/name为'dep'的ddl
- 在该表单中创建一个id/name为'brand'的隐藏字段
- 使用jquery,在用户单击左列时更新隐藏字段
- 只要用户点击submit按钮、更改ddl或单击左列,就可以使用jquery提交表单
这应该让你开始了
后端:
- 创建一个具有3个属性的SearchModel:搜索、品牌、dep
- 在搜索模型中有一个动作产品
前端:
- 创建一个发布到上面的产品操作的表单,确保它有一个提交按钮
- 在该表单中创建一个id/name为“search”的文本框
- 在该表单中创建一个id/name为'dep'的ddl
- 在该表单中创建一个id/name为'brand'的隐藏字段
- 使用jquery,在用户单击左列时更新隐藏字段
- 只要用户点击submit按钮、更改ddl或单击左列,就可以使用jquery提交表单
如果您使用ajax加载页面,也可以尝试此方法
$.ajax({
url: '/Products',
type: 'GET',
dataType: 'json',
cache: false,
async: false,
data: { dep: 1, brand: abc_2, search:abcd, tab:2 },
success: function (data) {
//Do your work here
},
error: function (ex) {
alert('Error.');
}
});
通常,您会将3个条件放在同一页面中,如搜索文本框、品牌/部门下拉列表,然后单击按钮将触发此查询。如果您使用ajax加载页面,也可以尝试此操作
$.ajax({
url: '/Products',
type: 'GET',
dataType: 'json',
cache: false,
async: false,
data: { dep: 1, brand: abc_2, search:abcd, tab:2 },
success: function (data) {
//Do your work here
},
error: function (ex) {
alert('Error.');
}
});
您通常会将3个条件放在同一页面中,如搜索文本框、品牌/部门下拉列表,然后单击按钮将触发此查询。错误:对象引用未设置为对象实例,声明为Session[“dep”]=Request.Params[“dep”].ToString()代码>会话[“dep”]=深度代码>或会话[“dep”]=aa代码>但当我尝试使用会话时,在刷新页面后,它丢失了会话值。您将会话放在了哪里?让我们看看错误:对象引用未设置为对象的实例,声明为session[“dep”]=Request.Params[“dep”].ToString()代码>会话[“dep”]=深度代码>或会话[“dep”]=aa代码>但是当我尝试使用会话时,在刷新页面后,它丢失了会话值。您将会话放在哪里了?让我们看看