Heim >Backend-Entwicklung >C#.Net-Tutorial >Asp.net verwendet Reflection, um eine Beispielcodeanalyse zum Zuweisen von Werten zur Modellklasse zu implementieren
Dieser Artikel stellt hauptsächlich die Methode von asp.net vor, die Reflektion verwendet, um der Klasse Modell Werte zuzuweisen. Er analysiert die Betriebsschritte und zugehörigen Betriebstechniken von asp.net, die Reflektion zum Zuweisen von Werten verwendet Zur Modellklasse in Form von Beispielen. Freunde in Not können sich darauf beziehen
Das Beispiel in diesem Artikel beschreibt die Methode zum Zuweisen von Werten zur Modellklasse mithilfe von Reflection in asp.net. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
/// <summary> /// 给model类自动赋值 /// </summary> /// <param name="sqlstring">获取查询一个model实例的sql语句</param> /// <param name="obj">model实例对象</param> /// <returns></returns> public object selmodel(string sqlstring,object obj) { DataTable dtsell = lcommonbll.GetTable(sqlstring); int count = dtsell.Rows.Count; if (count == 0) { return null; } else { DataRow dr = dtsell.Rows[0]; #region 另一种方法 //foreach (DataColumn col in dr.Table.Columns) //{ // PropertyInfo pt = seller.GetType().GetProperty(col.ColumnName); // if (String.IsNullOrEmpty(dr[col.ColumnName].ToString())) // { // break; // } // else // { // pt.SetValue(seller, dtsell.Rows[0][0], null); // } //} #endregion foreach (System.Reflection.PropertyInfo pi in obj.GetType().GetProperties()) { if (pi.CanWrite) { try { if (dtsell.Rows[0][pi.Name]!=null) { pi.SetValue(obj, dtsell.Rows[0][pi.Name], null); } else { pi.SetValue(obj, null, null); } } catch { pi.SetValue(obj, null, null); } } } return obj; } }
.CS-Aufruf
Seller seller = new Seller();//实体类 bind BIND = new bind();//绑定方法类 seller = (Seller)BIND.selmodel("select * from seller where SID=2", seller);//赋值
Das obige ist der detaillierte Inhalt vonAsp.net verwendet Reflection, um eine Beispielcodeanalyse zum Zuweisen von Werten zur Modellklasse zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!