【问题标题】:Intellisense Works But I Get Type or Namespace Errors When Trying to CompileIntellisense 有效,但在尝试编译时出现类型或命名空间错误
【发布时间】:2018-09-05 16:11:48
【问题描述】:

我正在编写一个 .NET Web 应用程序,并且我正在使用数据集来处理我的数据。

在代码中,一切看起来都很好(没有波浪形的红色下划线,实际上我可以选择我想要使用的 tableadapter)。

但是,当我尝试运行程序时,我得到了这个错误:

找不到类型或命名空间名称“ReleaseSet1TableAdapters”(您是否缺少 using 指令或程序集引用?

为什么代码可以运行,但程序没有运行?附上代码图片以显示我的绿色表格适配器,一切看起来都不错。

我的 gridviews 出现了同样的错误,这些错误位于 aspx 文件中。感谢您的帮助;我不知所措。

代码摘录

这里是 aspx.cs 文件:

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text;
using System.IO;
using System.Data.Sql;

public partial class Sched_Yesterday : System.Web.UI.Page
{
    ReleaseDataSet1TableAdapters.RollOutTableAdapter tblYesterday = new ReleaseDataSet1TableAdapters.RollOutTableAdapter();
    ReleaseDataSet1TableAdapters.RollOutTableAdapter tblYesterdaysDetail = new ReleaseDataSet1TableAdapters.RollOutTableAdapter();
    protected void Page_Load(object sender, EventArgs e)
    {
        gvYesterdaysReleases.DataSource = tblYesterday.GetDataByYesterdaySummary();
        gvYesterdaysReleases.DataBind();

        gvYesterdaysDetail.DataSource = tblYesterdaysDetail.GetDataByYesterday();
        gvYesterdaysDetail.DataBind();
    }
    public override void VerifyRenderingInServerForm(Control control)
    {
        //required to avoid the run time error "
        //Control 'GridView1' of type 'Grid View' must be placed inside a form tag with runat=server."
    }
}

还有aspx文件:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sched_Yesterday.aspx.cs" Inherits="Sched_Yesterday" %>

<html>

<head runat="server">
    <!--Title-->
    <title>Yesterday's Releases</title>

    <!-- CSS -->  
    <link href="Content/CSS/skeleton.css" rel="stylesheet" type="text/css" />
    <link href="Content/CSS/normalize.css" rel="stylesheet" type="text/css" />
    <link href="Content/CSS/misc.css" rel="stylesheet" type="text/css" />

    <!-- Scripts -->          
    <script src="Content/JS/jquery-1.11.3.js" type="text/javascript"></script>
    <script src="Content/JS/jquery-ui.js" type="text/javascript"></script>    

</head>
<body>
    <form id="frmRelYesterday" runat="server">

    <!-- Navigation/Header -->
        <div class="titleRectangle">
            Yesterday's Releases<br />
        <asp:HyperLink ID="hyperLinkIndex" runat="server" ForeColor="#ffffff" Font-Size="20px" 
            NavigateUrl="~/Index.aspx">Return to Main Menu</asp:HyperLink>            
        </div>  

    <!--Page Content -->
        <div class="container">
            <div class="rectangle">
                <asp:Gridview 
                    ID="gvYesterdaysReleases" 
                    runat="server" 
                    CssClass="grid" 
                    HorizontalAlign="Center"
                    EmptyDataText="There were no releases deployed yesterday." 
                    AutoGenerateColumns="False">                                
                    <Columns>
                        <asp:HyperLinkField 
                            DataNavigateUrlFields="Release" 
                            HeaderText="Release"
                            DataNavigateUrlFormatString="Release_Detail.aspx?ReleaseName={0}" 
                            DataTextField="Release" /> 
                        <asp:BoundField DataField="Scheduled" HeaderText="Scheduled" />
                        <asp:TemplateField HeaderText="Completed">
                            <ItemTemplate>
                                <progress max= <%# Eval("Target") %> value= <%# Eval("Deployed") %>>                                                                   
                                    <div pseudo="-moz-progress-bar">
                                    </div>
                                </progress> 
                            </ItemTemplate>
                        </asp:TemplateField>
                        <asp:BoundField DataField="tgtPct" HeaderText="% Complete" />
                    </Columns>                    
                </asp:Gridview>
                <asp:Button ID="Button1" runat="server" Text="Export Release Details" />
                <asp:Gridview 
                    ID="gvYesterdaysDetail" 
                    runat="server" 
                    CssClass="grid" 
                    HorizontalAlign="Center"
                    EmptyDataText="There were no releases deployed yesterday." 
                    AutoGenerateColumns="True">                                                  
                </asp:Gridview>
            </div>
        </div>

    </form>
</body>
</html>

【问题讨论】:

标签: c# asp.net aspxgridview


【解决方案1】:

我认为您需要将前两行(在公共部分类行之后)更改为如下所示:

ReleaseDataSet1TableAdapters tblYesterday = new ReleaseDataSet1TableAdapters.RollOutTableAdapter();

请注意,第一部分已更改。您正在尝试使用方法而不是类名来实例化一个类

【讨论】:

  • 感谢您的快速回复。取出 RolloutTableAdapter 抛出新错误:Error CS0118 'ReleaseDataSet1TableAdapters' is a namespace but is used like a type
  • 你有同名的命名空间和类型吗?这可以解释它。
  • @akling 您能否将整个代码粘贴到您的问题中(编辑它),以便我们复制它并查​​看发生了什么?
  • @akling 请也发布ReleaseDataSet1TableAdapters 课程的代码
  • @Syntax 错误:我没有相应的类,我只有 ReleaseDataSet1.xsd 文件(及其随附文件),这是我添加表和查询的 GUI。
【解决方案2】:

基于此链接:Type or namespace could not be found from App_code folder 我将构建操作更改为内容,现在一切都在正确编译。我非常感谢大家的帮助,尤其是@Syntax Error。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-29
    • 2012-07-23
    • 2011-12-01
    • 2015-05-01
    • 2014-10-01
    • 1970-01-01
    • 2013-11-11
    • 2021-01-23
    相关资源
    最近更新 更多