gpt4 book ai didi

c# - ASP.net C#崩溃一行

转载 作者:行者123 更新时间:2023-12-03 16:19:22 26 4
gpt4 key购买 nike

我有一个母版页,在on load事件中包含以下几行:

    string menuIDdata = Page.Request.QueryString["mid"];
menuID = 0;

// Get the menu ID
if (!int.TryParse(menuIDdata, out menuID))
{
menuID = 0;
}

// Select the correct menu
var selectedMenu = this.Page.FindControl("mnu" + menuID) as Panel;
selectedMenu.CssClass = "navButtonO";

var设置很好,但是CSS类行因错误而崩溃:

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.



母版页上包含以下元素:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="AdminMaster.master.cs" Inherits="MySite.MasterPages.AdminMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="mainHead" runat="server" >
<title>Administration</title>
<link rel="Stylesheet" href="../style/admin.css" />
</head>
<body>

<form id="mainForm" runat="server">

<div class="topMenu">

<asp:Panel id="mnu0" runat="server" CssClass="navButton">
<a href="admin.aspx?mid=0" class="navLink">Admin Home</a>
</asp:Panel>

<asp:Panel id="mnu1" runat="server" CssClass="navButton">
<a href="admin.aspx?mid=1" class="navLink">User Manager</a>
</asp:Panel>

<asp:Panel id="mnu2" runat="server" CssClass="navButton">
<a href="admin.aspx?mid=2" class="navLink">Products</a>
</asp:Panel>

<asp:Panel id="mnu3" runat="server" CssClass="navButtonR">
<a href="../default.aspx" class="navLink">Back to Site</a>
</asp:Panel>
</div>

<br /><br />
<asp:Panel id="subLinks" runat="server" CssClass="subMenu"></asp:Panel>

<div class="mainContent">
<asp:contentplaceholder id="mainContent" runat="server" />
</div>



</form>
</body>
</html>

有任何想法吗?谢谢!我是.net的新手,当该代码位于其自己的页面上时,该代码可以正常工作,将其移至母版页,并且将崩溃范围缩小到了设置CSS类的那一行。

编辑

注释掉这一行:
selectedMenu.CssClass = "navButtonO";

整个过程运行良好,因此看来这条线是失败的。

最佳答案

var selectedMenu = this.Page.FindControl("mnu" + menuID) as Panel;

上一行未能在页面上找到与您传递的ID匹配的控件,或者未能将找到的控件强制转换为面板。

在该行上设置一个断点,并确保页面上的控件与您认为应该存在的ID相匹配。

关于c# - ASP.net C#崩溃一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3450417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com