1

このようなパラメーターを取るWebメソッドを作成しました

public HttpResponseMessage  MakeOrders([FromUri] int[] orderId)
{
}

リクエストは次のようになります

http://www.test.com/MakeOrders?orderId=1&orderId=2

orderId'sこれらをに渡す必要がありDALます。だから私は2つの質問があります

  1. [FromUri]これは適切な実装ですか、それともクエリ文字列で配列値を渡すための標準的な方法ですか?
  2. orderId'sこのように DAL を作成できるように、ループして単一の要素として DAL に渡す必要がありますか?

ダル

public void UpdateOrder(int OrderId)
{
   var query = 'Update tbl SET isApproved=1 WHERE OrderId=@orderid'; 
}

または、このような配列として送信する必要がありますか

public void UpdateOrder(int[] OrderId)
{
   var query = 'Update tbl SET isApproved=1 WHERE OrderId in (@orderid)'; 
}
4

1 に答える 1

1

最初の答えは次のとおりです。私は、リストをjson形式で渡すのがより良い方法だと思いました。

例えば:

// Json format

var a=[1,2,3];

jqueryの$.ajax()メソッドを使用してこの値を渡します。

2番目の答えは次のようになります。

public void UpdateOrder(int[] OrderId)
{
   var orderids= string.Join(",", (string[])OrderId.ToArray(Type.GetType("System.String")))
   var query = 'Update tbl SET isApproved=1 WHERE OrderId in (@orderids)'; 
}
于 2013-02-11T19:37:49.830 に答える