如何将字符串转换为MVC控制器中的对象/模型引用/地址
本文关键字:对象 模型 地址 引用 控制器 字符串 转换 MVC | 更新日期: 2023-09-27 17:58:43
如果我存储了一个字符串,我如何将该字符串用作对象引用的一部分?
例如,如果我有一个字段名存储为字符串,当我在表中引用该字段时,我如何使用该字符串:
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
}
感谢
如果您确实认为需要,可以通过对模型类型调用GetProperty
,然后对返回的PropertyInfo调用GetValue
来使用反射。GetValue
获取您的模型类型的一个实例。
意识到返回的值是一个对象。要进行比较,您可能需要对其进行强制转换或转换,但这取决于您的逻辑。
// 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");
请注意,反思会影响绩效。