我在asp.net mvc4中遇到了一个selectListItem和Linq的问题。
这是我的模特
namespace RedistribucionDeCostos.Models
{
using System;
using System.Collections.Generic;
public partial class TUsuario
{
public int PkUsuarioId { get; set; }
public string UsuarioContrasena { get; set; }
public string UsuarioRol { get; set; }
public string UsaurioReportarTiempo { get; set; }
public string UsuarioRedistribuirCosto { get; set; }
public string UsuarioSituacion { get; set; }
public System.DateTime UsuarioFechaCreacion { get; set; }
public int FkUsuario_EmpleadoId { get; set; }
public virtual TEmpleado TEmpleado { get; set; }
}
}
我的控制器文件
public ActionResult Create()
{
if(string.Compare(Session["Rol"].ToString(),"USER") != 0){
var query = from empleado in db.TEmpleado
where !(from usuario in db.TUsuario
from empleado2 in db.TEmpleado
where usuario.FkUsuario_EmpleadoId == empleado2.PkEmpleadoId
select usuario.FkUsuario_EmpleadoId).Contains(empleado.PkEmpleadoId)
&& empleado.EmpleadoSituacion.CompareTo('A') == 0
select new {empleado.PkEmpleadoId, empleado.EmpleadoNombre, empleado.EmpleadoApellido };
List<SelectListItem> opciones = new List<SelectListItem>();
foreach(var item in query){
opciones.Add(new SelectListItem { Text = (item.EmpleadoApellido+" "+item.EmpleadoApellido), Value = item.PkEmpleadoId.ToString() });
}
ViewBag.FkUsuario_EmpleadoId = opciones;
return View();
}
return RedirectToAction("Index", "Home");
}
html razor文件
<div class="form-group">
<label class="color-primary">Empleado</label>
@Html.DropDownList("FkUsuario_EmpleadoId", (IEnumerable<SelectListItem>)ViewBag.FkUsuario_EmpleadoId,String.Empty, new {@class = "form-control"})
@Html.ValidationMessageFor(model => model.TEmpleado)
</div>
for-each给我一个错误:
“无法创建类型'System.Object'的常量值。在此上下文中仅支持基本类型或枚举类型。”
答案 0 :(得分:0)
错误发生在linQ查询中。 我被放了
empleado.EmpleadoSituacion.CompareTo('A') == 0
&#39; A&#39;是一个聊天类型,CompareTo接受字符串,我改变了
的这个例子empleado.EmpleadoSituacion.CompareTo("A") == 0
及其作品!!!!!。
(坏英语抱歉)