最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET?Core獲取正確查詢字符串參數(shù)示例

 更新時間:2022年05月20日 08:49:57   作者:MyIO  
這篇文章主要為大家介紹了ASP.NET?Core正確獲取查詢字符串參數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

有網(wǎng)友在交流群中詢問,如何獲取查詢字符串參數(shù):

默認情況下,ASP.NET Core 的模型綁定以鍵值對的形式從 HTTP 請求中的以下列表中指示的順序掃描源并獲取數(shù)據(jù):

表單域

  • 請求正文
  • 路由數(shù)據(jù)
  • 查詢字符串參數(shù)
  • 上傳的文件

因此,不需要任何配置,即可在 Action 中獲取到查詢字符串參數(shù):

[HttpGet]
public string Demo(int id, int price)
{
    return $"id = {id}, price = {price}";
}

但是,使用查詢字符串參數(shù)存在一個隱患,不傳任何參數(shù)時,Demo方法也可以運行,因為模型綁定會為缺失的參數(shù)賦類型默認值:

由于 0 也是正確的int值,我們無法區(qū)分這到底是不是傳遞過來的參數(shù)值。

而price = 0可能會造成很嚴重的業(yè)務問題。

那要如何處理呢?

解決方案

可空類型

對于可空類型,默認值為null。因此只需檢查它們是否為null,就可判斷是否傳遞了查詢字符串參數(shù):

[HttpGet]
public string Demo(int id, int? price)
{
    if(price==null)
        throw new ArgumentNullException(nameof(price));
    return $"id = {id}, price = {price}";
}

[BindRequired] 屬性

上述方案雖然可以實現(xiàn)要求,但是代碼改動較多。

另一種更簡單的方案是使用綁定驗證屬性:

[HttpGet]
public string Demo(int id, [BindRequired] int price)
{
    return $"id = {id}, price = {price}";
}

與原始方法相比,執(zhí)行增加一個屬性即可。而且 Swagger 也可以正確識別這一屬性:

以上就是ASP.NET Core獲取正確查詢字符串參數(shù)示例的詳細內(nèi)容,更多關(guān)于獲取查詢字符串參數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • .Net Core使用MongoDB的詳細教程

    .Net Core使用MongoDB的詳細教程

    這篇文章主要給大家介紹了關(guān)于.Net Core使用MongoDB的完整步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-08-08
  • asp.net 在線編輯word文檔 可保存到服務器

    asp.net 在線編輯word文檔 可保存到服務器

    使用說明:該方法只在office xp 和 2003上 測試通過,2000及以下 版本沒試。
    2010-01-01
  • 一文搞懂MemoryCache 清除全部緩存的方法

    一文搞懂MemoryCache 清除全部緩存的方法

    這篇文章主要介紹了MemoryCache 清除全部緩存的方法,本文給大家介紹兩個方法,每種方法通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • 創(chuàng)建基于ASP.NET的SMTP郵件服務的具體方法

    創(chuàng)建基于ASP.NET的SMTP郵件服務的具體方法

    Asp.net在System.Web.Mail名稱空間中有一個發(fā)送email的內(nèi)建類,但這僅是cdosys的一個假象。開發(fā)者能使用一個替代的它smtp郵件服務。在這篇文章里面,我將會展示如何創(chuàng)建一個用于asp.net的功能齊全的smtp郵件服務
    2013-11-11
  • asp.net 生成靜態(tài)頁筆記

    asp.net 生成靜態(tài)頁筆記

    asp.net 生成靜態(tài)頁筆記,需要在asp.net中生成靜態(tài)頁面的朋友可以參考下。
    2011-06-06
  • 使用chrome控制臺作為.Net的日志查看器

    使用chrome控制臺作為.Net的日志查看器

    這篇文章介紹了使用chrome控制臺作為.Net日志查看器的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 在ASP.NET Core Mvc集成MarkDown的方法

    在ASP.NET Core Mvc集成MarkDown的方法

    這篇文章主要介紹了在ASP.NET Core Mvc集成MarkDown的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • MVC+EasyUI+三層新聞網(wǎng)站建立 分頁查詢數(shù)據(jù)功能(七)

    MVC+EasyUI+三層新聞網(wǎng)站建立 分頁查詢數(shù)據(jù)功能(七)

    這篇文章主要為大家詳細介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第七篇,教大家如何分頁查詢出數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • IIS部署ASP.NET5的實現(xiàn)步驟

    IIS部署ASP.NET5的實現(xiàn)步驟

    本文主要介紹了ASP.NET5嘗試部署到IIS中運行,對基礎(chǔ)入門的同學有一定的幫助,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • ASP.NET+Web服務實現(xiàn)軟件共享

    ASP.NET+Web服務實現(xiàn)軟件共享

    ASP.NET+Web服務實現(xiàn)軟件共享...
    2006-09-09

最新評論

望谟县| 横峰县| 乡城县| 奉贤区| 花垣县| 开平市| 永州市| 安义县| 临沂市| 林芝县| 阳新县| 句容市| 讷河市| 板桥市| 深圳市| 额尔古纳市| 乐业县| 平果县| 马鞍山市| 锡林郭勒盟| 盐山县| 都江堰市| 宜黄县| 平定县| 开阳县| 商都县| 贺州市| 襄汾县| 南宁市| 沂南县| 嵩明县| 勃利县| 理塘县| 怀柔区| 株洲市| 塔河县| 巴彦县| 乾安县| 株洲县| 株洲市| 万载县|