我在 MVC 控制器中。我有一个类,我希望 MVC 以与处理 aGuid
或 aDateTime
完全相同的方式处理此类的值 那是:
- 当将类类型的实例写入表单时,它是单个格式化字符串,而不是单独的字段。
- 当一个值(以字符串形式)被回发时,它会自动转换回该类的一个实例。
从概念上讲,实现这一点应该只需要每个方向的转换函数。假设我们有一个或多个对象实现了这个接口:
namespace SomeExample
{
public interface SomeStringConversion<T>
{
T ConvertFromString(string str);
string ConvertToString(T obj);
}
}
// Example: What such a class for Guid might look like
namespace SomeExample
{
public class SomeGuidStringConversion : SomeStringConversion<Guid>
{
public Guid ConvertFromString(string str)
{
return Guid.Parse(str);
}
public string ConvertToString(Guid g)
{
return g.ToString();
}
}
}
并且说我们不在乎验证超出接受或拒绝的内容ConvertFromString()
。
SomeStringConversion<T>
从集合到使用它们的控制器的最直接路径是什么(即,模型绑定的无关特征尽可能少的无关细节) ?
编辑:我做开发人员已经有一段时间了,但在 MVC 方面我是新鲜人。我需要一个可以向后工作的代码示例。高级别的描述不会有太大帮助。