2013-07-20 21 views
3

我的viewmodel在不同的项目(类库)中。我添加了参考。但是当我从@model Fancy.Management.Model.Home.IndexModel的mvc4视图中调用它时。视图无法识别它。什么是我不知道的问题。 我的观点是如下图所示:查看无法识别我的视图模型

@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> 

我控制器如下图所示:

而且我的模型如下图所示:

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

我们也不知道。请向我们展示您的视图/ viewmodel /控制器 – Thousand

+0

我将我的代码添加到了问题中。 – fuat

+0

究竟是什么问题?我发现你可以使用​​@ Html.PasswordFor(m => m.Password) Thousand

回答

8

你加入一个裁判的模式呢?好吧,这是不够的,以便您的观点可以看到它。

首先,打开位于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 

问题应该消失..

2

像这样使用

public class HomeController : Controller 
{ 
    #region Get 
    public ActionResult Index() 
    { 
     IndexModel inModel=new IndexModel(); 
     return View(inModel); 
    } 
    #endregion 

} 
}