为什么部分ASP.NET MVC视图中缺少Intellisense?

时间:2009-01-22 04:25:40

标签: asp.net asp.net-mvc

我做错了这是ASP.NET MVC beta的一个已知问题吗?

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="MyProject.Web.Views.Searching.Index" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<%Html.BeginForm("SearchForBusiness", "BusinessSearch", FormMethod.Post); %>
<select id="myid" name="myid">
<%foreach (MyProject.DomainModel.DomainModelCategory.Category cat in ViewData.Model) %>
<%{ %>
<option value="<%=cat.Id %>"><%=cat.CategoryName %></option>
<%} %>
</select>
<input type="submit" value="search" />
<%Html.EndForm(); %>
</asp:Content>

我遇到的麻烦(实际上只是一个烦恼)是在OPTION线上... cat.Id没有启用intellisense但cat.CategoryName确实...

我知道它仍然是Beta,但我想知道是否有人知道这个状态......

谢谢!

1 个答案:

答案 0 :(得分:8)

不幸的是,Intellisense在HTML属性中不起作用。我不知道为什么,它只是没有。

当我真的需要Intellisense作为属性值时,我首先在属性外部编写服务器端代码,然后将其剪切粘贴。例如,我写这个:

<%=cat.Id %>    
<option value=""><%=cat.CategoryName %></option>

然后剪切粘贴使其看起来像这样

<option value="<%=cat.Id %>"><%=cat.CategoryName %></option>

这是一种解决方法,但它确实有效。

这通常是ASP.Net设计器的一个问题,因此它不会与MVC隔离(它也出现在WebForms中)。现在更多人使用“&lt;%=%&gt;”这个问题更加突出了用于构建HTML的标签(感谢MVC)。