簡體   English   中英

如何將參數DataTable從MVC應用程序傳遞到Web API?

[英]How to pass parameter DataTable from mvc application to web api?

我需要將DataTable作為參數從我的MVC應用程序傳遞到Web api。

我正在尋找一些代碼

 public void ConvertToSomeType(DataTable dt)

 {
 /*This code would be on mvc application 
 }


 public HttpActionResult GetData(SomeType st)
{

/*Here method should be convert sometype to DataTable*/

}

所以我期望從mvc應用程序發送的相同DataTable和WebAPI中接收的相同DataTable

如下創建源表

 DataTable dt = new DataTable();
 dt.column.add("Id");
 dt.column.add("Name");
 dt.rows.add("1","abc");
 dt.rows.add("1","abc");

在webapi中期望相同的DataTable

public HttpActionResult GetData(SomeType st)
{

DataTable dt = SomeMethod(st);
}

您可以通過以下步驟選擇一種方法,

1)從MVC Controller將您的DataTable序列化為JSON,

public ActionResult GetDatatable()
{
    DataTable dt = new DataTable();
    dt.Columns.Add("Id");
    dt.Columns.Add("Name");
    dt.Rows.Add("1", "abc");
    dt.Rows.Add("1", "abc");

    string json = JsonConvert.SerializeObject(dt);

    //Call the Web API Controller action method with above string parameter via WebRequest or HttpClient
}

2)將輸入的字符串json反序列化為DataTable,例如

public IHttpActionResult GetData(string json)
{
    DataTable dt = JsonConvert.DeserializeObject<DataTable>(json);
}

注意:您需要通過在軟件包管理器控制台中使用以下命令來為newtonsoft.json安裝NuGet軟件包

Install-Package Newtonsoft.Json -Version 12.0.1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM