0

製品を検索するための 4 つのカテゴリを持つ webmatrix Web ページがあります。最初のカテゴリには、ラジオ ボタンとそのカテゴリのデザインがあります。2 つ目は、サプライヤー カテゴリのドロップダウン リストです。3 番目は製品カテゴリのドロップダウン リストで、最後はプロパティのラジオ ボタンです。

ユーザーがデザイン カテゴリで 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, supply, offset, pageSize);のクエリのデータ型について助けが必要です。これが私の関数に渡されるものです。IEnumerable を試してみましたが、エラーが発生しました。

また、関数の前にどの参照を使用する必要がありますか? 関数が webgrid または html を返すようにします。

4

0 に答える 0