Compiler Error Message: CS0122: 'Controls_Arcade_StarDisplay.Stars' is inaccessible due to its protection level
我檢查了其他SO線程,但無法對它們有很大的意義。此控件正在另一個webusercontrol中使用。每當我嘗試用它做任何事情時,都會拋出這個錯誤。有問題的階級是這樣的:由於其保護級別,Webusercontrol無法訪問
<pages validateRequest="false" smartNavigation="false" clientIDMode="Static">
<controls>
<add tagPrefix="Scirra" src="~/Controls/Arcade/GameOverview.ascx" tagName="GameOverview"/>
<add tagPrefix="Scirra" src="~/Controls/Arcade/Stars/StarDisplay.ascx" tagName="StarDisplay"/>
</controls>
</pages>
開始顯示控制遊戲概述內出現:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Runtime.CompilerServices;
public partial class Controls_Arcade_StarDisplay : System.Web.UI.UserControl
{
public double Rating { get; set; }
public string Tooltip { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
string CSSClass = "star-rating s-";
if (Rating < 0.25)
CSSClass += "0";
else if (Rating < 0.75)
CSSClass += "05";
else if (Rating < 1.25)
CSSClass += "1";
else if (Rating < 1.75)
CSSClass += "15";
else if (Rating < 2.25)
CSSClass += "2";
else if (Rating < 2.75)
CSSClass += "25";
else if (Rating < 3.25)
CSSClass += "3";
else if (Rating < 3.75)
CSSClass += "35";
else if (Rating < 4.25)
CSSClass += "4";
else if (Rating < 4.75)
CSSClass += "4";
else if (Rating < 1.25)
CSSClass += "1";
else if (Rating < 4.75)
CSSClass += "45";
else
CSSClass += "5";
Stars.CssClass = CSSClass;
if (Tooltip != null)
Stars.ToolTip = Tooltip;
}
}
控制在web.config中註冊:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="StarDisplay.ascx.cs" Inherits="Controls_Arcade_StarDisplay" %>
<asp:Panel runat="server" ID="Stars" />
代碼背後控制。
感謝您的幫助,完全卡住!其他問題指的是獲取我不理解的控件的屬性,或者改變設計器中我無法找到的東西。
我發佈了整個班級,將'protected void Page_Load'更改爲'public void Page_Load'會引發同樣的錯誤 –
Stars的聲明在設計器文件中是什麼樣的? –
對不起,我以前從未真正使用過設計器,設計器文件位於何處? –