视图无法识别我的视图模型 [英] View doesn't recognized my view model

查看:144
本文介绍了视图无法识别我的视图模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

My viewmodel in different project(class library). I added reference. But when i call it from my mvc4 view like @model Fancy.Management.Model.Home.IndexModel. View not recognized it. What is the problem i dont know. My View is shown below:

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

推荐答案

您向模型添加了引用?好的,这还不足以使您的视图可以看到它.

You added a ref to the model? Ok, that's not enough in order that your view can see it.

首先,打开Views文件夹中的web.config文件.然后,为您的模型类添加一个名称空间标签,如下所示:

First, open the web.config file located in Views folder. Then, add a namespace tag for your model class like the following:

<system.web.webPages.razor>
// ...
<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    // ...
    <add namespace="Fancy.Management.Model" />
    // ...
  </namespaces>
</pages>

,最后在您的视图中更改您的@model,如下所示:

and finally change your @model in your view like this:

@model Home.IndexModel

问题应该消失了……

这篇关于视图无法识别我的视图模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆