Wenn Sie wirklich
string thisismystring = fieldname
if (tablename.(this is where i want to use my string as a reference to the appropriate field) > 1)
{
Do something here
}
Dank Es ist erforderlich, dass Sie die Reflektion verwenden können, indem Sie GetProperty
für den Typ Ihres Modells aufrufen und dann GetValue
für die PropertyInfo aufrufen, die zurückgegeben wurde. GetValue
nimmt eine Instanz Ihres Modelltyps.
Erkennen Sie, dass der zurückgegebene Wert ein Objekt ist. Um es zu vergleichen, müssen Sie es vielleicht konvertieren oder konvertieren, aber das hängt von Ihrer Logik ab.
// if this is your model ...
public class MyModel
{
public string FieldName {get;set;}
}
// this is what your Controler method would look like
public ActionResult Check(string fieldname, string fieldValue)
{
var tablename = new MyModel{ FieldName = "check"};
var prop = typeof(MyModel).GetProperty(fieldname);
var value = prop.GetValue(tablename);
// do notice value is here an Object, so you might want to Convert or Cast if needed
if (value == fieldValue)
{
"equal".Dump();
}
return View(tablename);
}
// and this is how your Controller method gets called
Check("FieldName","check");
Beachten Sie, dass die Reflexion eine Leistungseinbuße hat.
Was ist Tabellenname? Eine einfache Klasse? Oder eine DataRow? – rene
Nur eine Klasse/Modell – Rob