asp.net-mvc - 如何从自定义模型绑定(bind)器中删除魔术字符串?

标签 asp.net-mvc model-binding magic-string

我现在已经编写了几个自定义模型绑定(bind)器,并且意识到我已经陷入了依赖魔术字符串的陷阱,例如:

    if (bindingContext.ValueProvider.ContainsPrefix("PaymentKey"))
    {
        paymentKey = bindingContext.ValueProvider.GetValue("PaymentKey").AttemptedValue;
    }

我希望能够使用表达式来强输入前缀名称,但无法弄清楚如何,并且会感谢您的帮助。

谢谢。

最佳答案

你要找的是bindingContext.ModelName所以你的代码可以变成:

 if (bindingContext.ValueProvider.ContainsPrefix(bindingContext.ModelName))
    {
        paymentKey = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue;
    }

关于asp.net-mvc - 如何从自定义模型绑定(bind)器中删除魔术字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3854161/

相关文章:

c# - ASP 网络核心 : add many to many relationship with IdentityUser

mysql - MVC 将数据输入到 SQL 表中。网站工作没有错误,但当我单击 ShowTableData 时,一切都是 Null

css - 使用 MVC3 时设置固定页面高度

c# - 在我的 asp.net mvc web 应用程序中使用 Parallel.Foreach 和 WebClient() 有什么缺点或风险吗

objective-c - 此文本字段的 Cocoa 绑定(bind) "model key path"是什么?

c# - 查询字符串?&空参数Web API

c# - 从 QueryOver(或 Fluent NHibernate)中获取魔法字符串?

c# - 识别数组中基类的实现

.Net - 避免魔术字符串的策略

asp.net-mvc - ASP.net MVC - 使用没有查询字符串值或花哨路由的模型绑定(bind)器