2

我创建了一个新的强类型视图,如下所示:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
  Inherits="System.Web.Mvc.ViewPage<MiniMain.ViewModel.ArticleViewdata>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    <%Model %>
</asp:Content>

但是当我调用Mode,Html,Viewdata时,没有智能提示。我想不通,请告诉我该怎么做?

4

3 回答 3

2

我想通了。如果你创建一个强类型视图,你应该把这个配置添加到视图路径下的 web.config 中:

<pages
    validateRequest="false"
    pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
    userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <controls>
    <add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
  </controls>
</pages> 
于 2009-11-13T02:47:10.927 回答
0

请参阅这篇关于 ViewModel 的文章。

您需要在 asp:content 中进行一些替代编码,而不是仅仅调用 <% model %>并希望智能感知能够工作 - 您已经告诉页面“模型”是什么,所以您需要做的就是开始“使用”模型页。

在此示例中,来自 Stephens 的文章,迭代模型中的每个项目并构建一个列表。

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">  
    <% foreach (var item in Model)    
       { %>  
        <li> <%= item.Name %> </li>  
    <% } %>  
</asp:Content> 
于 2009-11-12T11:41:43.850 回答
0

尝试使用 <%= Model.blah %> 而不是 <% Model.blah %>

于 2009-11-13T08:18:11.507 回答