c#中链接无法找到问题解决

开发环境:Visual Studio

情况:主页面使用模版,左边的菜单使用了一个.cs的控件,结果登录进来后,默认的页面可以正常显示,点击其他,提示如下图所示的错误:

解决办法:

1、在App_Code文件夹下建一个类Class.cs,内写代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

/// <summary>
///Class1 的摘要说明
/// </summary>
public class Class1
{

//
//TODO: 在此处添加构造函数逻辑
//
/// <summary>
/// 取得网站的根目录的URL,包括虚拟目录
/// </summary>
/// <returns>如:https://www.do.com/apppath </returns>
public static string GetRootURI()
{
string AppPath = "";
HttpContext HttpCurrent = HttpContext.Current;
HttpRequest Req;
if (HttpCurrent != null)
{
Req = HttpCurrent.Request;

string UrlAuthority = Req.Url.GetLeftPart(UriPartial.Authority);
if (Req.ApplicationPath == null || Req.ApplicationPath == "/")
//直接安装在 Web 站点
AppPath = UrlAuthority;
else
//安装在虚拟子目录下
AppPath = UrlAuthority + Req.ApplicationPath;
}
return AppPath;
}


}

2.控件.ascx文件里写如下代码:

<%printLink(); %>

3.控件.ascx.cs文件里写如下函数:

protected void printLink()
{
Response.Write("<a href='" + Class1.GetRootURI() + "/Manage/Equipment/Equipment.aspx'>设备列表</a>" );
Response.Write("<a href='" + Class1.GetRootURI() + "/Manage/Equipment/AddEquip.aspx'>添加设备</a>");
Response.Write("<a href='" + Class1.GetRootURI() + "/Manage/Equipment/Equipment.aspx'>设备列表</a>");
Response.Write("<a href='" + Class1.GetRootURI() + "/Manage/Equipment/Equipment.aspx'>设备列表</a>");
Response.Write("<a href='" + Class1.GetRootURI() + "/Manage/Equipment/Equipment.aspx'>设备列表</a>");
Response.Write("<a href='" + Class1.GetRootURI() + "/Manage/Blog/Blog.aspx'>查看日志</a>");
}

4、模版页相应位置添加:

<ucList:ListUserControl id="ListUserControl" runat="server"/>

即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值