Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 基于asp.net mvc中的搜索条件填充数据#_Jquery_Asp.net_Asp.net Mvc - Fatal编程技术网

Jquery 基于asp.net mvc中的搜索条件填充数据#

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将: 因此,

我有一个产品列表页面。所有产品的展示均基于3个标准:

  • 当用户单击左侧菜单时
  • 当用户在搜索文本框中输入并搜索时
  • 当用户在品牌组合框中选择时
  • 这是由于用户单击以下列表而导致的考试url:

  • :显示depId=1且categoryID=2的产品
  • :显示品牌名称为“ABC”且品牌id为2的产品
  • :显示产品名称为“ABCD”的产品
  • 问题:当用户单击下面的每个链接时,页面将刷新,因此我无法将参数字符串混合在一起。我想将这3个条件结合在一起,这意味着当用户单击(1)然后继续(2)和(3)时,url将:

    因此,页面将显示depID=1、categoryID=2、brand id=2、brand name=ABC和product name=“ABCD”的产品

    这是我试图在我的站点中获得的(3)。master:

    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但是当我尝试使用会话时,在刷新页面后,它丢失了会话值。您将会话放在哪里了?让我们看看