C# 將多個引數傳遞給 get 方法

Minahil Noor 2023年1月30日 2020年6月9日
  1. 在 C# 中使用控制器動作將多個引數傳遞給 Get 方法
  2. 使用屬性路由將多個引數傳遞給獲取方法的程式碼
  3. 使用 [FromQuery] 將程式碼段傳遞給 Get 方法的程式碼
C# 將多個引數傳遞給 get 方法

ASP.NET MVC 用於開發 Web 應用程式。MVC Web API 和網頁框架現已合併為一個名為 MVC 6 的框架。MVC 是一種模式,允許你通過路由的請求與模型,檢視和控制器進行互動。

在本文中,我們將討論用於將多個引數傳遞給 MVC 控制器中的 Get 方法的各種方法。

在 C# 中使用控制器動作將多個引數傳遞給 Get 方法

控制器動作是一種用於處理傳入請求的方法。然後返回動作結果。動作結果是對傳入請求的響應。在這種情況下,我們使用控制器動作將多個引數傳遞給 Get 方法。

示例程式碼:

public string Get(int? id, string FirstName, string LastName, string Address)
{
   if (id.HasValue)
      GetById(id);
   else if (string.IsNullOrEmpty(Address))
      GetByName(FirstName, LastName);
   else
      GetByNameAddress(FirstName, LastName, Address);
}

使用屬性路由將多個引數傳遞給獲取方法的程式碼

在屬性路由中,我們使用屬性來定義路由。這是推薦的方法,因為它減少了出錯的機會。它使你可以更好地控制 Web API 中的 URL

使用此方法的正確語法如下:

//Specify route
[Route("api/YOURCONTROLLER/{parameterOne}/{parameterTwo}")]
    public string Get(int parameterOne, int parameterTwo)
    {
        return $"{parameterOne}:{parameterTwo}";}
    }

示例程式碼:

//Specify route
[Route("api/yourControllerName/{FirstName}/{LastName}/{Address}")]
public string Get(string id, string FirstName, string LastName, string Address)
{
    return $"{FirstName}:{LastName}:{Address}";
}

使用 [FromQuery] 將程式碼段傳遞給 Get 方法的程式碼

[FromQuery] 用於指定引數應與請求查詢字串繫結。它是 FromQueryAttribute 類的屬性。

使用此屬性的正確語法如下:

[HttpGet]
    public string GetByAttribute([FromQuery]string parameterOne, [FromQuery]string parameterTwo)
    {

    }

示例程式碼:

[Route("api/person")]
public class PersonController : Controller
{
    [HttpGet]
    //Passing one parameter to the Get method
    public string GetById([FromQuery]int id)
    {

    }

    [HttpGet]
    //Passing two parameters to the Get method
    public string GetByName([FromQuery]string firstName, [FromQuery]string lastName)
    {

    }

    [HttpGet]
    //Passing multiple parameters to the Get method
    public string GetByNameAndAddress([FromQuery]string firstName, [FromQuery]string lastName, [FromQuery]string address)
    {

    }
}

相關文章 - Csharp Method