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" />

希望这能解决您的问题。