【问题标题】:Get Control by URL通过 URL 获取控制权
【发布时间】:2016-02-29 06:52:26
【问题描述】:

我目前在我的第一个 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"然后显示home-control吗?

有谁知道,我该如何解决这个问题?

谢谢大家:)

这里有几个sn-ps的代码:

ma​​sterpage.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

我的文件夹结构如下:

  • CSS
  • img
  • javascript
  • App_Data
  • 对象
  • 控制
    • home.aspx
    • contact.aspx ...等
  • default.aspx(带有文件.cs后面的代码)
  • masterpage.master
  • 杂项:web.config 和其他文件和文件夹...

【问题讨论】:

  • 我认为这是不可能的。你可以使用查询字符串来解决这个问题。如果你愿意,我可以帮助你查询字符串
  • @Nitin Alapati 确定为什么不这样做。我只是在寻找一种很好地绑定控件的好方法

标签: asp.net url webforms request controls


【解决方案1】:

如果您希望您的网站从 domain.com/default.aspx?id=1 转到 domain.com/home 或 domain.com/login,您需要启用友好 URL 并在 WebForms 中设置路由。

Scott Hanselman 在以下链接中进行了演练...

http://www.hanselman.com/blog/IntroducingASPNETFriendlyUrlsCleanerURLsEasierRoutingAndMobileViewsForASPNETWebForms.aspx

【讨论】:

    猜你喜欢
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    相关资源
    最近更新 更多