写了一个分页组件。添加了一个枚举属性
名称空间PagerPro,
类名PagerPro[Browsable(true)]
[CategoryAttribute("Appearance")]
[Description("Define control style")]
public StyleList DefineStyle
{
get { return ViewState["_defineStyle"] == null ? StyleList.None : (StyleList)ViewState["_defineStyle"]; }
set { ViewState["_defineStyle"] = value; }
}public enum StyleList
{
None,Standard
}
问题出来啦:如果在cs代码里设置DefineStyle属性,不会出现任何错误
PagerPro1.DefineStyle = PagerPro.PagerPro.StyleList.Standard;
但是在aspx页面里制定PagerPro1的DefineStyle属性时,编译就会出错
<cc1:PagerPro ID="PagerPro1" runat="server" StartPage="1" ShowGotoPage="True" ShowTotalPage="True" DefineStyle="Standard" />
错误代码 error CS0117: “PagerPro.PagerPro”并不包含“PagerPro”的定义请各位帮忙看看是什么原因。以下是aspx页面代码,仅供参考
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register Assembly="PagerPro" Namespace="PagerPro" TagPrefix="cc1" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1"
Width="564px">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="DLL.PagerDB" SelectMethod="GetCustomers"
SelectCountMethod="GetPageCount" MaximumRowsParameterName="pageSize" StartRowIndexParameterName="currentPageNumeric" OnObjectCreating="ObjectDataSource1_ObjectCreating" OnSelecting="ObjectDataSource1_Selecting">
<SelectParameters>
<asp:ControlParameter ControlID="PagerPro1" Name="currentPageNumeric" PropertyName="CurrentPageNumeric" Type="Int32"/>
<asp:ControlParameter ControlID="PagerPro1" Name="pageSize" PropertyName="PageSize" Type="Int32"/>
</SelectParameters>
</asp:ObjectDataSource>
<cc1:PagerPro ID="PagerPro1" runat="server" StartPage="1" ShowGotoPage="True" ShowTotalPage="True" DefineStyle="Standard" />
</div>
</form>
</body>
</html>
错误代码 error CS0117: “PagerPro.PagerPro”并不包含“PagerPro”的定义也不是提示DefineStyle没定义,而是说类PagerPro没定义
Compiler Error CS0117 'type' does not contain a definition for 'identifier'This error occurs when a reference is made to a member that does not exist for the data type. Several common situations can generate this error:Calling a method that does not exist.Using the Item property followed by an indexer.Calling a qualified method when a class name and its enclosing namespace name are the same. Calling an interface written in a language that supports static members inside interfaces.The following sample generates CS0117.
Example
In this example, the Item property is used with an indexer. In C#, you can use a property or an indexer to access a member, but not both. The following sample generates CS0117. Copy Code
// CS0117_2.cs
using System;
using System.Collections;
class Test
{
public static void Main()
{
ArrayList al = new ArrayList();
al.Add( new Test() );
Console.WriteLine("{0}", al.Item[0]); // CS0117
Console.WriteLine("{0}", al[0]); // OK
}
}
CS0017 also occurs if you use a library written in a language that allows static members in interfaces, and you try to access the static member from C#. Copy Code
// CS0117_3.jsl
// compile with: /target:library
public interface IMyJSharpInterface
{
static int MyStaticMember = 0;
void NonStaticMember();
}
The following sample generates CS0117. Copy Code
// CS0117_4.cs
// compile with: /reference:CS0117_3.dll
class MyCSharpClass : IMyJSharpInterface
{
public void NonStaticMember() {} public static void Main()
{
IMyJSharpInterface myObj = new MyCSharpClass();
myObj.NonStaticMember();
int i = myObj.MyStaticMember; // CS0117
}
}
------------------------------
[From MSDN]