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

我有一个母版页,在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类行因错误而崩溃:

异常详细信息:
System.NullReferenceException:对象
引用未设置为的实例
目的。

母版页上包含以下元素:

<%@ 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相匹配。

与Mootools Scriptmanager Ajax Asp.net发生冲突? - c#

我正在尝试不同的方法来使这项工作成功,但是没有成功。我正在尝试将mootools与asp.net应用程序集成。我只想用它为我的网站添加一些效果。我也使用更新面板,scriptmanager,因为不希望有完整的回发。在控制台上引发错误TypeError:clientID.startsWith不是函数,并且在进行更新时brwoser reset...。这是整个代…

asp.net:treeview-显示文本框是否选中? - c#

我需要向用户显示字符串列表。用户可以选择多个字符串。如果选择了一组特定的字符串,则每个字符串旁边都会出现一个文本框。我想做的是向用户显示一个TREEVIEW,每个节点都是字符串之一。他们将通过选中复选框来选择所需的每个字符串。问题:如果用户选择特定的复选框,则我需要一个文本框来显示用户的GET输入。问题:如何从用户使用树形视图获取字符串输入? 参考方案 Tr…

ASP.NET Gridview ButtonField onclick触发包含行的onclick事件 - c#

我有一个gridview行,当单击该行时必须执行回发操作A,而在该行中单击该行时必须执行回发操作B的按钮字段。问题是,当我单击按钮字段时,会触发event1和event2。下面是代码。protected void gdv_RowCommand(object sender, GridViewCommandEventArgs e) { string arg = …

使用ASP文件上传器将图片上传到4 MB以上? - c#

我正在使用一个asp文件上传器,通过它我单击按钮上传图像。每当我将图像上传到4 mb以上时,它就会崩溃。如果我在配置中为maxrequestlength定义了大小然后,如果我再次超过文件大小,它就会崩溃。如果上载了一个巨大的文件,是否可能限制用户并显示免责声明消息。我的目的是让用户知道该文件很大。aspx页面<tr> <td align=&…

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…