Web 用户控件导致找不到页面
Web User Control Causing Page Not Found
我遇到了一个很奇怪的问题。我的一些 Web 用户控件导致引用它的父页面出现 404 页面未找到错误。
以下是我在 .aspx 页面上注册它的方法:
<%@ Register TagPrefix="uc" TagName="DonationList"
Src="~/Controls/Donation/DonationList.ascx" %>
和在同一个aspx页面上声明用户控件的行:
<uc:DonationList ID="seenDonationListUC" runat="server" SeenInformation="Seen" />
如果我删除上面的行,我就不会再收到 404 错误页面。
这是用户控件的一小段 class:
public partial class DonationList : System.Web.UI.UserControl
{
public enum Seen
{
Unspecified = 0,
Seen = 1,
NotSeen = 2
}
public Seen SeenInformation
{
get
{
int temp = seenInformationHF.Value == "" ? 0 : Convert.ToInt32(seenInformationHF.Value);
result = (Seen) temp;
return result;
}
.....
知道这可能是什么原因吗?
您的枚举名称和后续枚举值都相同 "Seen"。尝试将枚举名称更改为类似于 SeenOptions 的名称。例如,
public enum SeenOptions
{
Unspecified = 0,
Seen = 1,
NotSeen = 2
}
在这种情况下,您的 SeenInformation class 将如下所示,
public SeenOptions SeenInformation
{
get
{
int temp = seenInformationHF.Value == "" ? 0 : Convert.ToInt32(seenInformationHF.Value);
result = (Seen) temp;
}
.....
最后,您在 aspx 页面上的用户控制行将与以前相同。
<uc:DonationList ID="seenDonationListUC" runat="server" SeenInformation="Seen" />
希望这能解决您的问题。
我遇到了一个很奇怪的问题。我的一些 Web 用户控件导致引用它的父页面出现 404 页面未找到错误。
以下是我在 .aspx 页面上注册它的方法:
<%@ Register TagPrefix="uc" TagName="DonationList"
Src="~/Controls/Donation/DonationList.ascx" %>
和在同一个aspx页面上声明用户控件的行:
<uc:DonationList ID="seenDonationListUC" runat="server" SeenInformation="Seen" />
如果我删除上面的行,我就不会再收到 404 错误页面。
这是用户控件的一小段 class:
public partial class DonationList : System.Web.UI.UserControl
{
public enum Seen
{
Unspecified = 0,
Seen = 1,
NotSeen = 2
}
public Seen SeenInformation
{
get
{
int temp = seenInformationHF.Value == "" ? 0 : Convert.ToInt32(seenInformationHF.Value);
result = (Seen) temp;
return result;
}
.....
知道这可能是什么原因吗?
您的枚举名称和后续枚举值都相同 "Seen"。尝试将枚举名称更改为类似于 SeenOptions 的名称。例如,
public enum SeenOptions
{
Unspecified = 0,
Seen = 1,
NotSeen = 2
}
在这种情况下,您的 SeenInformation class 将如下所示,
public SeenOptions SeenInformation
{
get
{
int temp = seenInformationHF.Value == "" ? 0 : Convert.ToInt32(seenInformationHF.Value);
result = (Seen) temp;
}
.....
最后,您在 aspx 页面上的用户控制行将与以前相同。
<uc:DonationList ID="seenDonationListUC" runat="server" SeenInformation="Seen" />
希望这能解决您的问题。