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

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

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

前言

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

默認(rèn)情況下,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ù)賦類型默認(rèn)值:

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

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

那要如何處理呢?

解決方案

可空類型

對于可空類型,默認(rèn)值為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ù)示例的詳細(xì)內(nèi)容,更多關(guān)于獲取查詢字符串參數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • .Net Core使用MongoDB的詳細(xì)教程

    .Net Core使用MongoDB的詳細(xì)教程

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

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

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

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

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

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

    Asp.net在System.Web.Mail名稱空間中有一個發(fā)送email的內(nèi)建類,但這僅是cdosys的一個假象。開發(fā)者能使用一個替代的它smtp郵件服務(wù)。在這篇文章里面,我將會展示如何創(chuàng)建一個用于asp.net的功能齊全的smtp郵件服務(wù)
    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日志查看器的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 在ASP.NET Core Mvc集成MarkDown的方法

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

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

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

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

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

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

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

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

最新評論

永定县| 南郑县| 甘洛县| 新疆| 扶沟县| 阜康市| 武平县| 淮安市| 嘉鱼县| 北海市| 临猗县| 镇原县| 赣州市| 西乡县| 白城市| 金乡县| 独山县| 精河县| 永丰县| 富宁县| 疏附县| 龙山县| 雅安市| 毕节市| 正阳县| 广丰县| 蓬莱市| 平阳县| 桦川县| 松原市| 台中县| 鄄城县| 揭西县| 罗定市| 乐平市| 赤城县| 丹寨县| 上杭县| 山丹县| 清涧县| 武平县|