我有一个母版页,在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…