0

我有四个类别的 webmatrix 网页来搜索产品。第一个类别有单选按钮及其类别设计。其次是供应商类别的下拉列表。第三是产品类别的下拉列表,最后是属性的单选按钮。

当用户在设计类别中选择时,使用 AJAX 显示的结果与其他类别相同。

我对每个类别都有一个 if 语句。下面是 if ... else 块。

 if (string.IsNullOrEmpty(Request.Form["Design"])){
   var design = Request.Form["Design"];
   var sql2 = "SELECT COUNT (*) FROM plastics WHERE Design=@0";
   var sql = "SELECT * FROM plastics WHERE Design=@0  OFFSET @1 ROWS FETCH NEXT @2 ROWS  ONLY";
   count = db.QueryValue(sql2, design);
   var data = db.Query(sql, design, offset, pageSize);

  // code for webgrid. This where I will call the function 

  } else if(string.IsNullOrEmpty(Request.Form["Supplier"])) {

    var design = Request.Form["Design"];
    var supplier = Request.Form["Supplier"];
   var sql2 = "SELECT COUNT (*) FROM plastics WHERE Design=@0 AND Supplier=@1";
   var sql = "SELECT * FROM plastics WHERE Design=@0  AND Supplier=@1 OFFSET @2 ROWS FETCH NEXT @3 ROWS  ONLY";
   count = db.QueryValue(sql2, design,supplier );
   var data = db.Query(sql, design,supplier, offset, pageSize);

   // code for webgrid. This where I will call the function

    } else if(string.IsNullOrEmpty(Request.Form["Product"])) {
     .......
   // code for webgrid. This where I will call the function

    } else if (string.IsNullOrEmpty(Request.Form["Propeties"])) {
    ........
   // code for webgrid. This where I will call the function
    } else  { 

   // code for webgrid. This where I will call the function
    }
  and so on...

我的意图是有一个被调用的助手或函数,如下所示:

@functions {
public static HtmlString webgridpage(IEnumerable<object> data)
{

    var grid = new WebGrid(data,canSort: false, rowsPerPage: 10 );
     <div id="grid">
<div id="table">
    @grid.GetHtml(    
        tableStyle : "table",
        alternatingRowStyle : "alternate",
        headerStyle : "header",
        columns: grid.Columns(

        grid.Column("Supplier", "Supplier Name"),
        grid.Column("Telephone"),
        grid.Column("Description", style: "descr"),
        grid.Column("Stock"),
        grid.Column("City", "Location")
    )
   )
   return new HtmlString(webgridpage.ToString(TagRenderMode.Normal));
}

}

我需要有关var data = db.Query(sql, supplier, offset, pageSize);中查询数据类型的帮助 因为这是传递给我的函数的内容。我尝试了 IEnumerable,但它给了我一个错误。

在函数之前我必须使用什么参考?我希望我的函数返回 webgrid 或 html。

4

0 回答 0