在ASP.net中,单击菜单中的特定页面时,无法访问放置在子文件夹中的“ .aspx”页面

如何解决在ASP.net中,单击菜单中的特定页面时,无法访问放置在子文件夹中的“ .aspx”页面

| 我在母版页上使用jquery菜单。菜单包含绑定在运行时取决于用户权限。 在我的项目\“。aspx \”页面放置在根文件夹以及子文件夹中。.当我单击菜单上的页面名称时,它会将我重定向到位于项目根目录中的特定页面。 但我无法重定向到子文件夹中的页面。 目标页面名称在数据库中定义。单击后,从datatbse中选择目标网址并重定向到页面。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using AjaxPro;

public partial class Reports_fleet : System.Web.UI.MasterPage
{
Jetfleet_Framework.clsDataAcess objData = new Jetfleet_Framework.clsDataAcess();
DataSet dsMenu = new DataSet();
HttpBrowserCapabilities objbrowser;
protected void Page_Load(object sender,EventArgs e)
{

    objbrowser = Request.Browser;
    if (objbrowser.Browser == \"AppleMAC-Safari\")
    {
        loctbl.Style.Add(\"margin-top\",\"30px\");
        loctbl.Style.Add(\"margin-left\",\"-30px\");
        sumnu.Style.Add(\"margin-top\",\"2px\");
    }
    if (objbrowser.Browser == \"Firefox\")
    {
        loctbl.Style.Add(\"margin-top\",\"-50px\");
        sumnu.Style.Add(\"margin-top\",\"2px\");
    }
    lbl.Text = Session[\"ServiceLocName\"].ToString();
    hdnRelease.Value = Session[\"Release\"].ToString();
    hdnCloseWindow.Value = Session[\"userId\"].ToString();
    Utility.RegisterTypeForAjax(typeof(Reports_fleet));
    Response.Buffer = true;
    Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d);
    Response.Expires = -1500;
    Response.Cache.SetNoStore();
    Response.CacheControl = \"no-cache\";
    if (Session[\"userId\"] == null)
    {
        Response.Redirect(\"LogIn.aspx\");
    }

    //name.InnerHtml = Session[\"userFullName\"].ToString();
    BuildNavigationMenu();
    name.InnerHtml = Session[\"userFullName\"].ToString();

    if (!this.IsPostBack)
    {
        if (Session[\"Release\"] == \"True\")
        {
            string spRelease = \"usp_ins_upd_task_assign;3\";
            Object[] paramRelease = new Object[1];
            paramRelease[0] = (Object)Session[\"userId\"].ToString();

            objData.ExecuteNonQuery(spRelease,paramRelease);
        }
        else
        {
            Session[\"Release\"] = \"True\";
        }

    }
}

private void BuildNavigationMenu()
{

    //Creates html UL element for menu.
    string uname = \"\",pass = \"\",location = \"\";
    Session[\"bchk\"] = \"True\";

    int userId = System.Int32.Parse(Session[\"userId\"].ToString());
    int roleId = System.Int32.Parse(Session[\"userRole\"].ToString());
    try
    {
        if (Session[\"navigation_menu_dataset\"] != null)
        {
            dsMenu = (DataSet)Session[\"navigation_menu_dataset\"];

        }
        else
        {
            dsMenu = GetNavigationMenu(userId,roleId);
            Session[\"navigation_menu_dataset\"] = dsMenu;

        }
        uname = Session[\"userName\"].ToString();
        pass = Session[\"password\"].ToString();
        location = Session[\"loction\"].ToString();
        Session[\"username\"] = uname;
        Session[\"password\"] = pass;
        Session[\"Location\"] = location;

        int mnuCount,totalMenus;
        totalMenus = System.Int32.Parse(dsMenu.Tables[1].Rows[0][\"total_menus\"].ToString());
        HtmlGenericControl divMenu = new HtmlGenericControl(\"div\");
        divMenu.Attributes[\"id\"] = \"menu\";
        HtmlGenericControl ulMenu = new HtmlGenericControl(\"ul\");
        ulMenu.Attributes[\"class\"] = \"menu\";

        for (mnuCount = 1; mnuCount <= totalMenus; mnuCount++)
        {
            HtmlGenericControl liMain = new HtmlGenericControl(\"li\");
            if (mnuCount == totalMenus)
            {
                liMain.Attributes[\"class\"] = \"last\";
            }
            else
            {
                liMain.Attributes[\"class\"] = \"parent\";
            }
            HtmlGenericControl aMain = new HtmlGenericControl(\"a\");
            aMain.Attributes[\"href\"] = \"#\";
            HtmlGenericControl spMenu = new HtmlGenericControl(\"span\");
            DataRow[] drMenu = null;

            drMenu = dsMenu.Tables[0].Select(\"parent_menu_id = \" + mnuCount);

            if (drMenu.Length != 0)
            {
                spMenu.InnerHtml = drMenu[0][\"parent_menu_name\"].ToString();//Masters
                aMain.Controls.Add(spMenu);
                liMain.Controls.Add(aMain);
                HtmlGenericControl divMenu1 = new HtmlGenericControl(\"div\");
                HtmlGenericControl ulMenu1 = new HtmlGenericControl(\"ul\");
                int subMenuStepTo = 0;
                for (int rowcnt = 0; rowcnt < drMenu.Length; rowcnt++)
                {
                    if (drMenu[rowcnt][\"is_folder\"].ToString().ToLower() == \"false\")
                    {
                        //If no submenus are there.
                        HtmlGenericControl liMain1 = new HtmlGenericControl(\"li\");//Booking Upload                                                        
                        HtmlGenericControl aMain1 = new HtmlGenericControl(\"a\");
                        aMain1.Attributes[\"href\"] = drMenu[rowcnt][\"target_url\"].ToString();
                        HtmlGenericControl spMenu1 = new HtmlGenericControl(\"span\");
                        spMenu1.InnerHtml = \"&nbsp;&nbsp;\" + drMenu[rowcnt][\"display_text\"].ToString();
                        aMain1.Controls.Add(spMenu1);
                        liMain1.Controls.Add(aMain1);
                        ulMenu1.Controls.Add(liMain1);
                    }
                    if (drMenu[rowcnt][\"is_folder\"].ToString().ToLower() == \"true\")
                    {
                        //submenus are there 
                        DataRow[] drSubMenu;
                        HtmlGenericControl liMain1 = new HtmlGenericControl(\"li\");//Customer
                        liMain1.Attributes[\"class\"] = \"parent\";
                        HtmlGenericControl aMain1 = new HtmlGenericControl(\"a\");
                        aMain1.Attributes[\"href\"] = \"#\";
                        HtmlGenericControl spMenu1 = new HtmlGenericControl(\"span\");
                        subMenuStepTo = rowcnt;
                        spMenu1.InnerHtml = \"&nbsp;&nbsp;\" + drMenu[subMenuStepTo][\"display_name\"].ToString();   //subMenuStepTo                         
                        aMain1.Controls.Add(spMenu1);
                        liMain1.Controls.Add(aMain1);
                        drSubMenu = dsMenu.Tables[0].Select(\"display_name = \'\" + drMenu[subMenuStepTo][\"display_name\"].ToString() + \"\' AND parent_menu_id = \" + mnuCount);//subMenuStepTo
                        HtmlGenericControl divMenu2 = new HtmlGenericControl(\"div\");
                        HtmlGenericControl ulMenu2 = new HtmlGenericControl(\"ul\");
                        for (int rowcnt1 = 0; rowcnt1 < drSubMenu.Length; rowcnt1++)
                        {
                            if (mnuCount == 3)
                            {
                                AppRelativeTemplateSourceDirectory = \"~/Reports\";
                            }
                            HtmlGenericControl liMain2 = new HtmlGenericControl(\"li\");//Corporate                                
                            HtmlGenericControl aMain2 = new HtmlGenericControl(\"a\");
                            aMain2.Attributes[\"href\"] = drSubMenu[rowcnt1][\"target_url\"].ToString();
                            HtmlGenericControl spMenu2 = new HtmlGenericControl(\"span\");
                            spMenu2.InnerHtml = \"&nbsp;&nbsp;\" + drSubMenu[rowcnt1][\"display_text\"].ToString();
                            aMain2.Controls.Add(spMenu2);
                            liMain2.Controls.Add(aMain2);
                            ulMenu2.Controls.Add(liMain2);
                        }
                        subMenuStepTo = subMenuStepTo + (drSubMenu.Length - 1);
                        divMenu2.Controls.Add(ulMenu2);
                        liMain1.Controls.Add(divMenu2);
                        ulMenu1.Controls.Add(liMain1);
                    }
                    if (drMenu[rowcnt][\"is_folder\"].ToString().ToLower() != \"false\")
                    {
                        rowcnt = subMenuStepTo;
                    }
                }
                divMenu1.Controls.Add(ulMenu1);
                liMain.Controls.Add(divMenu1);

            }
            ulMenu.Controls.Add(liMain);
        }
        divMenu.Controls.Add(ulMenu);
        mnuContainer.Controls.Add(divMenu);


    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message);
    }
    finally
    {
        dsMenu.Dispose();
    }
}

private DataSet GetNavigationMenu(int userId,int roleId)
{
    //Gets menu items based on user id.
    try
    {
        string spMenu = \"usp_get_navigation_menu;2\";
        Object[] paramsMenu = new object[2];
        paramsMenu[0] = (Object)userId;
        paramsMenu[1] = (Object)roleId;
        objData.FillDataset(spMenu,dsMenu,null,paramsMenu);
    }
    catch (Exception ex)
    {
        throw new Exception(ex.Message);
    }
    finally
    {
        objData.Dispose();

    }
    return dsMenu;
}

[AjaxPro.AjaxMethod]
public void CloseWindow(int userid,string release)
{
    if (release == \"False\")
    {
        string spRelease = \"usp_ins_upd_task_assign;3\";
        Object[] paramRelease = new Object[1];
        paramRelease[0] = (Object)userid;

        objData.ExecuteNonQuery(spRelease,paramRelease);
    }
}
} 这是我在运行时绑定菜单的代码..我无法访问子文件夹页面..i试图在数据库中定义子文件夹路径..它在第一次使用时有效,但是当我单击其他菜单时 页面位于根目录中,然后位于地址栏“ .aspx”中,页面名称带有子文件夹名称 ...所以找不到页面 请帮我 .........     

解决方法

        在主页上使用
\"< base href=\'http://localhost/testapp/\' />\"
,将对您有所帮助。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-