Я использую привязку модели для основного приложения ASP. NET, для него настроено несколько известных атрибутов, а затем словарь, в который я хочу добавить любые дополнительные атрибуты URL. Я хочу, чтобы моя строка запроса выглядела следующим образом:
/foobar?Id=5&Status=pending&SpecialKey=test
И чтобы она заполнила мою модель, где было свойство Id = 5, Status = Pending
, и чтобы в Словаре с именем ExtraParams
был один элемент, ключ " SpecialKey "и значение" test ".
Вот моя модель сейчас:
using Microsoft.AspNetCore.Http;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text.Json.Serialization;
namespace MyProject.Models
{
public class MyCustomModel
{
public string? Id { get; set; }
public string? Status { get; set; }
public string? SerialNumber { get; set; }
public string? Nickname { get; set; }
public string? DisplayName { get; set; }
[JsonExtensionData]
public Dictionary<string, object> ExtraParams { get; set; } = new Dictionary<string, JToken>();
}
}
В нынешнем виде заполняется только Id / Status. Единственный способ получить что-либо в ExtraParams
- это использовать строку запроса в формате ExtraParams[key]=test
, которая мне не нужна.