如何将列表传递到存储过程并返回另一个列表

时间:2018-06-28 08:00:54

标签: jquery asp.net stored-procedures

我发现了另外两个问题,但Question 1Question 2并没有帮助我

我正在研究一个ASP.NET项目。我正在使用存储过程在数据库中检索数据并将数据插入数据库中。

我有两个带有两个复选框的下拉列表,如此处的屏幕截图所示:

[Image dropdown]

HTML标记:

    //---------- Shop Dropdown ---------
    <div>
        <label>Shop</label>
        <div class="form-group">
            <div class="input-group">
                <select class="form-control" id="ShopId">
                    <option value="0">---Select Shop---</option>
                    <option value="1" id="shopidone1">SHOP 1</option>
                    <option value="2" id="shopidone1">New Shop</option>
                    <option value="3" id="shopidone1">Lat Shop</option>
                </select>
                <span class="input-group-addon">
                    <label>
                        <span id="all" class="all">
                            <input type="checkbox" id="ShopCheckbox" value="1">
                        </span>
                        <span>All</span> 
                    </label>
                </span>
            </div>
        </div>
    </div>

    //---------- Category Dropdown ----------
    <div>
        <label class="lblCategory">Category</label>
        <div class="form-group">
            <div class="input-group">
                <select class="form-control" id="CategoryId">
                    <option>---Select Category---</option>
                </select>
                <span class="input-group-addon">
                    <label>
                        <span>
                            <input type="checkbox" name="" value="" id="CategoryCheckbox">
                        </span>
                        <span>All</span> 
                    </label>
                </span>
            </div>
        </div>
    </div>

当我从组合中选择一家商店时,我会传递shopid并获得相应的类别。

jQuery:

     var ShopIdval = '{"shopid":"' + ShopId + '"}';
     ShopIdval = '"ShopIdvalBO":' + ShopIdval + '';

     var CategoryMaster = '{' + ShopIdval + ',"pageSession":"' + pageSession + '"}';

     $.ajax({
         type: "POST",
         url: "AnalysisOfSalesByItem.aspx/GetCategory",
         contentType: "application/json; charset=utf-8",
         data: CategoryMaster,
         dataType: "json",
         success: function (data) {
             Categoryappend(data.d);
         },
         error: function (msg) { }
     });

然后我从数据层调用存储过程:

ALTER PROCEDURE [dbo].[spcategorycomboAnalysisSales] 
    @shopid AS INT
AS
BEGIN
    SET NOCOUNT ON

    SELECT *
    FROM shopitemcategory sc, itemcategory ic 
    WHERE sc.itemcategoryid = ic.itemcategoryid 
      AND sc.shopid = @shopid 
    ORDER BY sc.itemcategoryid  

    SET NOCOUNT OFF
END

它运行良好,当我选择商店时,组合中会加载相应的类别。

我想要的是,当我单击复选框时,我想加载所有类别值。实际上,如果我想加载所有类别,它很容易。但是我没有加载下拉列表中的所有商店,因此我希望所有类别都包含在下拉列表中。

我在想,如果我可以在另一个存储过程中传递商店清单,那么我可以得到想要的Ite

我该怎么做?

0 个答案:

没有答案
相关问题