gpt4 book ai didi

c# - 模型绑定(bind)自定义类型

转载 作者:行者123 更新时间:2023-11-30 22:46:27 24 4
gpt4 key购买 nike

我有一个与 System.Nullable 类型非常相似的结构:

public struct SpecialProperty<T>
{
public static implicit operator T(SpecialProperty<T> value)
{
return value.Value;
}
public static implicit operator SpecialProperty<T>(T value)
{
return new SpecialProperty<T> { Value = value };
}

T internalValue;
public T Value { get { return internalValue; } set { internalValue = value; } }

public override bool Equals(object other)
{
return Value.Equals(other);
}
public override int GetHashCode()
{
return Value.GetHashCode();
}
public override string ToString()
{
return Value.ToString();
}

}

我正在尝试将它与 ASP.NET MVC 绑定(bind)一起使用。使用默认的客户模型绑定(bind)器,该属性将始终产生 null。我可以通过在每个表单输入名称的末尾添加“.Value”来解决这个问题,但我只是希望它使用某种自定义模型 Binder 直接绑定(bind)到新类型,但我尝试过的所有解决方案似乎都不必要地复杂.我觉得我应该能够扩展默认绑定(bind)器,并使用隐式转换通过几行代码将属性绑定(bind)重定向到整个模型。我不太了解默认 Binder 的绑定(bind)范例,但它似乎确实停留在模型和模型属性之间的区别上。最简单的方法是什么?谢谢!

最佳答案

找到了答案。我只需要实现一个自定义类型转换器,默认的模型绑定(bind)器就会将其拾取。

关于c# - 模型绑定(bind)自定义类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com