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

Web*_*edi 2 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>
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

And*_*rse 8

不幸的是,Intellisense在HTML属性中不起作用.我不确定为什么,它只是没有.

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

<%=cat.Id %>    
<option value=""><%=cat.CategoryName %></option>
Run Code Online (Sandbox Code Playgroud)

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

<option value="<%=cat.Id %>"><%=cat.CategoryName %></option>
Run Code Online (Sandbox Code Playgroud)

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

这通常是ASP.Net设计器的一个问题,因此它不与MVC隔离(它也出现在WebForms中).现在更多的人使用"<%=%>"标签来构建HTML(感谢MVC),这个问题更加突出.