一个简单的ASP.NET WebForm "Model Binder"
ASP.NET MVC 中有一个神器Model Binder,给开发带来很多便利,如果使用WebForm 开发的话,只能望洋兴叹了,不过人类是无法阻止程序猿解决问题的决心的。
废话不多说了,直接看看这个山寨版的 "Model Binder"
复杂类型使用示例
先定义几个简单的实体:
public class User
{
public int SysNo { get; set; }
public string Name { get; set; }
public bool Good { get; set; }
public DateTime Birthday { get; set; }
public Address Address { get; set; }
public int[] Test { get; set; }
public List<Order> Orders { get; set; }//不支持复杂列表类型的转换
}
public class Order
{
public string OrderID { get; set; }
}
public class Address
{
public User User { get; set; }
public int SysNo { get; set; }
public string Name { get; set; }
}
然后看看界面上表单的样子
看看效果
转换成功!!
如何判断用户没有输入或者转换失败呢?
很简单在Global中注册默认值
protected void Application_Start(object sender, EventArgs e)
{
RequestBinder.RegistDefaultValue<int>(-999999);
RequestBinder.RegistDefaultValue<DateTime>(DateTime.Parse("1900/01/01"));
}
上面是复杂类型,对于简单的更不在话下了,只要指定表单的Name就可以了
int sysno = RequestBinder.UpdateModel<int>("SysNO");




浙公网安备 33010602011771号