我在不同项目(类库)中的viewmodel。我添加了参考。但是当我从我的mvc4视图中调用它时,如@model Fancy.Management.Model.Home.IndexModel。查看无法识别它。我不知道的问题是什么。 我的观点如下所示:
@model Fancy.Management.Model.Home.IndexModel
<html>
<head>
<title>Giriş</title>
</head>
<body>
@Html.BeginForm(){
<table>
<tr>
<td>Kullanıcı Adı:</td>
<td>@Html.TextBoxFor(m=>m.UserName)</td>
</tr>
<tr>
<td>Şifre:</td>
<td>@Html.PasswordFor(m=>m.Password)</td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Giriş" /></td>
</tr>
</table>
}
</body>
</html>
我的控制器如下所示:
namespace Fancy.Web.Management.Controllers
{
#region Using Directives
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
#endregion
public class HomeController : Controller
{
#region Get
public ActionResult Index()
{
return View();
}
#endregion
}
}
我的模型如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Fancy.Management.Model.Home
{
public class IndexModel
{
public string UserName { get; set; }
public string Password { get; set; }
}
}
答案 0 :(得分:10)
你为模特添加了一个参考?好的,这还不够,以便您的视图可以看到它。
首先,打开位于Views
文件夹中的web.config文件。然后,为您的模型类添加命名空间标记,如下所示:
<system.web.webPages.razor>
// ...
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
// ...
<add namespace="Fancy.Management.Model" />
// ...
</namespaces>
</pages>
最后在您的视图中更改@model
,如下所示:
@model Home.IndexModel
问题应该消失......
答案 1 :(得分:2)
像这样使用
public class HomeController : Controller
{
#region Get
public ActionResult Index()
{
IndexModel inModel=new IndexModel();
return View(inModel);
}
#endregion
}
}