如何在Default.aspx中调用PublicPar.cs里定义的daysBefore变量?
在Default.aspx中使用PublicPar.cs的daysBefore变量及错误修正
问题说明
需要在Default.aspx页面中调用PublicPar.cs类里定义的daysBefore常量,同时当前Default.aspx的写法存在错误,相关代码如下:
当前Default.aspx代码
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Links.aspx.cs" Inherits="LinkTabs.Links" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <div id="forNote"> <span style="color:red;">Note:</span> Days: <%= daysBefore.toString() %> </div> </asp:Content>
PublicPar.cs代码
namespace LinkTabs.App_MyCode.BLL { public class PublicPar { public const int daysBefore = 30; } }
错误分析
- 未引用目标命名空间:直接写
daysBefore,页面无法定位到该常量所在的LinkTabs.App_MyCode.BLL命名空间 - 方法名大小写错误:C#中
int类型的转字符串方法是ToString(),而非小写的toString() - Page指令不匹配(可选):当前Default.aspx的Page指令指向
Links.aspx.cs和LinkTabs.Links,但页面文件名是Default.aspx,若对应后置类应为Default.aspx.cs,此处存在不匹配问题
解决方案及修正代码
步骤1:引入命名空间
在Page指令下方添加<%@ Import %>指令,引入PublicPar所在的命名空间:
<%@ Import Namespace="LinkTabs.App_MyCode.BLL" %>
步骤2:正确访问常量并修正方法名
daysBefore是PublicPar类的公共常量,需通过类名.常量名的方式访问,同时修正ToString()的大小写:
<%= PublicPar.daysBefore.ToString() %>
步骤3:修正Page指令(若需)
如果Default.aspx对应的后置类是Default.aspx.cs,需调整Page指令的CodeBehind和Inherits属性:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="LinkTabs.Default" %>
修正后的完整Default.aspx代码
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="LinkTabs.Default" %> <%@ Import Namespace="LinkTabs.App_MyCode.BLL" %> <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <div id="forNote"> <span style="color:red;">Note:</span> Days: <%= PublicPar.daysBefore.ToString() %> </div> </asp:Content>
内容的提问来源于stack exchange,提问作者HelloCW
相关产品推荐
相关产品推荐

