当我将一个类liabray作为具有Employee和EmployeeBusinessLayer类的名为BusinessLayer的业务对象添加到我的MVC项目中时,我遇到了麻烦。单击家庭控制器的索引部分中的添加视图,然后我应该将Employee(BusinessLayer)作为模型类。但是实际上,员工(BusinessLayer)不会出现在那里吗?
我想在我的MVC项目中使用业务对象作为模型。我创建了一个名为BusinessLayer的ClassLiabrary,其中有两个名为Employee和EmployeeBusinessLayer的类。 EmployeeBusinessLayer类具有一个返回雇员列表的属性。之后,我在HomeController的索引动作中创建了EmployeeBusinessLayer对象。视图的雇员的对象返回列表。然后,右键单击索引部分以添加视图。视图名称文本框已经具有文本“索引”,并且我选择了模板作为列表。但是“模型类”文本框仅具有RouteConfig(UsingBusinessObjectAsModel),我希望成为Employee(BusinessLayer)吗?
Namespace UsingBusinessObjectAsModel.Controllers
{
public class HomeController: Controller
{
// GET: Home
public ActionResult Index()
{
EmployeeBusinessLayer employeeBusinessLayer = new
EmployeeBusinessLayer();
List<Employee> employees =
employeeBusinessLayer.Employees.ToList();
return View (employees);
}
}
}
这是我的BusinessLayer:
namespace BusinessLayer
{
public class EmployeeBusinessLayer
{
public IEnumerable<Employee> Employees
{
get
{
string connectionString =
ConfigurationManager.ConnectionStrings["Test"].ConnectionString;
List<Employee> employees = new List<Employee>();
using (SqlConnection con = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand("spGetAllEmployees", con);
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Employee employee = new Employee();
employee.Id = Convert.ToInt32(rdr["EmployeeId"]);
employee.Name = rdr["Name"].ToString();
employee.Gender = rdr["Gender"].ToString();
employee.City = rdr["City"].ToString();
employees.Add(employee);
}
}
return employees;
}
}
}
}
我希望当我右键单击索引操作以添加视图和视图名称并选择模板时,模型类应该具有Employee(BusinessLayer)的选项,但它只有RouteConfig(UsingBusinessObjectAsModel)。
答案 0 :(得分:1)
您是否重建了所有项目?如果Business项目没有构建为dll,则这些类未显示在“模型”列表中。