请问博客园的高手们!怎么实现MVC中的UpdataModel功能,在WEBFROM中!
这是我一前的做法:
//自动获取Form中的值 from Name
public static T GetPost<T>(this NameValueCollection form)
{
Type type = typeof(T);
T objResult = Activator.CreateInstance<T>();
PropertyInfo[] pi = type.GetProperties();
pi.ToList().ForEach(O =>
{
if (form[O.Name] != null)
{
try
{
var isNullable = O.PropertyType.ToString().Contains("System.Nullable");
if (isNullable)
{
if (O.PropertyType.FullName.Contains("System.Int32"))
{
O.SetValue(objResult, int.Parse(form[O.Name]), null);
}
if (O.PropertyType.FullName.Contains("System.DateTime"))
{
O.SetValue(objResult, DateTime.Parse(form[O.Name]), null);
}
}
O.SetValue(objResult, Convert.ChangeType(form[O.Name], O.PropertyType), null);
}
catch
{
}
}
});
return objResult;
}
总是觉得不太好!而且还有BUG,请问博客园的诸位高手你们是怎么做的?
直接把MVC的抄过来就行了呗?
ASP.NET MVC是开源的。
自己没有做过。
可以使用反射的方法。不过与页面上html或者.net的控件的名字需要相同,耦合性相当的大了。