ASP.NET Core自定义绑定ModelName始终为空。
创始人
2024-11-12 04:30:12
0

ASP.NET Core中的模型绑定是将HTTP请求中的数据绑定到控制器的参数或模型对象上。有时候,可能会遇到ModelName始终为空的情况。以下是解决该问题的一种方法,包含代码示例:

  1. 创建一个自定义模型绑定器(CustomModelBinder)类,继承自IModelBinder接口:
public class CustomModelBinder : IModelBinder
{
    public Task BindModelAsync(ModelBindingContext bindingContext)
    {
        var modelName = bindingContext.FieldName; // 获取ModelName
        var valueProviderResult = bindingContext.ValueProvider.GetValue(modelName);

        if (valueProviderResult != ValueProviderResult.None)
        {
            bindingContext.ModelState.SetModelValue(modelName, valueProviderResult);

            // 执行自定义的模型绑定逻辑
            // 将数据绑定到模型对象上

            // 示例:将数据绑定到字符串属性上
            var model = new CustomModel();
            model.Name = valueProviderResult.FirstValue;
            bindingContext.Result = ModelBindingResult.Success(model);
        }

        return Task.CompletedTask;
    }
}
  1. 在模型属性上应用ModelBinderAttribute特性,指定自定义模型绑定器:
public class CustomModel
{
    [ModelBinder(BinderType = typeof(CustomModelBinder))]
    public string Name { get; set; }
}
  1. 在控制器的方法参数中使用自定义模型:
public IActionResult MyAction([Bind("Name")]CustomModel model)
{
    // 使用绑定后的CustomModel对象
    // ...
}

通过以上步骤,你可以自定义模型绑定逻辑,并确保ModelName不为空。在绑定模型时,自定义模型绑定器会被调用,并将数据绑定到模型对象的属性上。

相关内容

热门资讯

经调查!推荐一下胡乐辅助脚本的... 经调查!推荐一下胡乐辅助脚本的教程(辅助挂)果然是有挂(有挂方案)-哔哩哔哩1、下载安装好推荐一下胡...
第2分钟开挂!赣南好友辅助,中... 第2分钟开挂!赣南好友辅助,中至余干小程序辅助安装,攻略方法-2026最新版本1、首先打开中至余干小...
截至发稿!微信牵手跑的快辅助(... 截至发稿!微信牵手跑的快辅助(辅助挂)一贯是有挂(有挂妙招)-哔哩哔哩 了解更多开挂安装加(1367...
第3分钟开挂!乐平包王讨赏辅助... 第3分钟开挂!乐平包王讨赏辅助,微信海盗来了辅助工具,系统教程-2026最新版本1、微信海盗来了辅助...
于此同时!小闲南川手游辅助器(... 小闲南川手游辅助器是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我...
8分钟开挂!同城游抓狗腿辅助,... 8分钟开挂!同城游抓狗腿辅助,欢乐联盟免费辅助,玩家教程-2026最新版本1、完成欢乐联盟免费辅助透...
受玩家影响!决胜辅助(辅助挂)... 受玩家影响!决胜辅助(辅助挂)一贯有挂(有挂积累)-哔哩哔哩您好:决胜辅助这款游戏可以开挂,确实是有...
第8分钟开挂!八闽辅助,邳州友... 第8分钟开挂!八闽辅助,邳州友友有没有辅助软件,解密教程-2026最新版本1、在邳州友友有没有辅助软...
今日!潮汕汇破解版(辅助挂)果... 今日!潮汕汇破解版(辅助挂)果然真的有挂(有挂窍要)-哔哩哔哩;无需打开直接搜索加薇13670430...
9分钟开挂!晋中胡乐辅助脚本下... 9分钟开挂!晋中胡乐辅助脚本下载,爱来大菠萝辅助iq,扑克教程-2026最新版本1、下载好晋中胡乐辅...