如何从MVC razor c#中的动态模型中获取属性值

Ahm*_*deh 1 c# asp.net-mvc razor asp.net-mvc-4

看法:

@model  dynamic

<div class="btn-group">
    <a class="btn btn-default dropdown-toggle btn-select" data-toggle="dropdown" href="#">Select a Country <span class="caret"></span></a>
    <ul class="dropdown-menu">
       @foreach (dynamic m in Model)
       {
          <li><a href="#">"@m.EmployeeName"</a></li>
       }
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)

控制器 :

public ActionResult Index()
        {
             var Employees = Connections.SaleBranch.SqlConn.Query("SELECT EmployeeName,EmployeeID FROM dbo.udft_Employee(@RunDate) WHERE OfficerEmployeeID=@OfficerEmployeeID",
            new { OfficerEmployeeID = 78273, RunDate = DateTime.Now.GetPersianDate() },
            commandType: CommandType.Text).ToList();
            var EmployeesList = Employees.Select(x => new { EmployeeName = x.EmployeeName, EmployeeID = x.EmployeeID }).ToList();

            return View("Point/Index", EmployeesList);
        }
Run Code Online (Sandbox Code Playgroud)

该对象m显示 2 个属性(EmployeeName、EmployeeID)。

在此处输入图片说明

但无法获取m.EmployeeName

在此处输入图片说明

Sla*_*nov 5

尝试通过反射获得所需的值:

@foreach (dynamic m in Model)
{    
    var EmployeeName = m.GetType().GetProperty("EmployeeName").GetValue(m);
    <li><a href="#">"@EmployeeName"</a></li>    
}
Run Code Online (Sandbox Code Playgroud)