我目前正在使用我的第一个asp.net WebForms网站。要显示不同的网站,我将控件加载到我的母版页中的占位符。
示例:UserControl uc = this.LoadControl("~/controls/home.ascx") as UserControl;
这超过了我的default.aspx
代码隐藏文件。我现在正在努力填写基于URL的另一个控件。我知道你可以获得一个ID(如果my-domain.com/default.aspx?id=1
然后显示控制blabla)但我是否有可能读出URL而不是ID字符串?例如:
my-domain.com/home -> this goes over my default.aspx, but shows de home controller
my-domain.com/contact-> this goes over my default.aspx, but shows de contact controller
我可以查看它是"/home"
然后显示家庭控制吗?
有谁有想法,我怎么能解决这个问题?
谢谢你们:)
以下是一些代码段:
masterpage.master:
<asp:ContentPlaceHolder id="content" runat="server"></asp:ContentPlaceHolder>
的Default.aspx:
<%@ Page Title="" Language="C#" MasterPageFile="~/masterpage.master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="myproject._default" %>
default.aspx.cs:
public partial class _default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ContentPlaceHolder content = this.Master.FindControl("content") as ContentPlaceHolder;
displayControl(content);
}
private void displayControl(ContentPlaceHolder content)
{
UserControl uc = this.LoadControl("~/controls/home.ascx") as UserControl;
if ((content != null) && (uc != null))
{
content.Controls.Add(uc);
}
}
}
home.ascx:
my HTML-Page
我的文件夹采用以下结构:
答案 0 :(得分:0)
如果您希望自己的网站从domain.com/default.aspx?id=1转到domain.com/home或domain.com/login,则需要在网络表单中启用友好网址并设置路线。< / p>
Scott Hanselman在以下链接中进行了一次演练......