2013-07-20 50 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 

} 
}