You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC共享布局Razor页空引用异常错误修复求助

修复ASP.NET MVC共享布局的NullReferenceException及侧边栏下拉功能

一、修复System.NullReferenceException错误

错误原因

  1. 直接访问ConfigurationManager.AppSettings["Applicant Tracking System"]时,若该配置项不存在会返回null,调用ToLower()会触发空引用异常。
  2. 代码中AppSettings[""]是无效空键,必然返回null,拼接字符串时也会引发问题。

修复后的导航栏代码

<div class="navbar navbar-inverse navbar-fixed-top height5">
    <div class="navbar-header">
        <button type="button" class="btn" data-toggle="collapse" data-target=".navbar-collapse" id="make-small-nav">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        @{
            // 先取出配置值并做空值兼容
            var atsSetting = System.Configuration.ConfigurationManager.AppSettings["Applicant Tracking System"] ?? string.Empty;
            // 修正空键问题,这里假设你原本想取某个有效配置项,比如"AppSuffix",无配置则用空串
            var extraSetting = System.Configuration.ConfigurationManager.AppSettings["AppSuffix"] ?? string.Empty;
        }
        @if (atsSetting.ToLower() == "true")
        {
            @Html.ActionLink($"Applicant Tracking System{extraSetting}", "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        }
        else
        {
            @Html.ActionLink(atsSetting, "Index", "Home", new { area = "" }, new { @class = "navbar-brand" })
        }
    </div>
    <div style="float:right">
        @if (Session["username"] != null)
        {
            <text> Welcome, @Session["username"]! </text>
            <span>
                &nbsp;&nbsp;
                @Html.ActionLink(" ", "Index", "Home", new { area = "" }, new { @class = "fa fa-sign-out fa-2x" })
            </span>
        }
    </div>
</div>

额外配置检查

确保Web.config中存在对应配置项,示例:

<appSettings>
    <add key="Applicant Tracking System" value="true" />
    <!-- 若需要拼接额外内容,添加对应配置 -->
    <add key="AppSuffix" value="v1.0" />
</appSettings>

二、实现侧边栏菜单下拉展开功能

利用Bootstrap折叠组件实现下拉效果,修改后的侧边栏代码:

<div class="maincover LeftBar">
    <div class="navbar-collapse collapse">
        <div class="nav navbar-nav">
            <!-- MASTER MAINTENANCE 下拉组 -->
            <div class="Ul-span">
                <a role="button" data-toggle="collapse" data-target="#masterMaintenanceMenu" aria-expanded="false" aria-controls="masterMaintenanceMenu">
                    MASTER MAINTENANCE <span class="fa fa-chevron-down"></span>
                </a>
            </div>
            <div class="collapse" id="masterMaintenanceMenu">
                <div class="list-group">
                    <a class="list-group-item" role="button" href="@Url.Action("PositionList", "Position")">
                        <span class="fa fa-file"></span> <b>MM POSITION</b>
                    </a>
                    <a class="list-group-item" role="button" href="@Url.Action("CandidateList", "Candidate")">
                        <span class="fa fa-file"></span> <b>MM CANDIDATE</b>
                    </a>
                </div>
            </div>

            <!-- INTERVIEW TRACKING 下拉组 -->
            <div class="Ul-span">
                <a role="button" data-toggle="collapse" data-target="#interviewTrackingMenu" aria-expanded="false" aria-controls="interviewTrackingMenu">
                    INTERVIEW TRACKING <span class="fa fa-chevron-down"></span>
                </a>
            </div>
            <div class="collapse" id="interviewTrackingMenu">
                <div class="list-group">
                    <a class="list-group-item" role="button" href="@Url.Action("Index", "Interview")">
                        <span class="fa fa-file"></span> <b>INTERVIEW</b>
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

功能说明

  • 通过data-toggle="collapse"和data-target="#菜单ID"绑定触发按钮与下拉内容。
  • 下拉内容默认折叠,点击标题可切换展开/收起状态。
  • 添加下拉图标提示交互,可通过CSS控制图标旋转优化视觉反馈。

内容的提问来源于stack exchange,提问作者Alfred Goh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:02:10