2015-11-26 6 views
0

Я сейчас нахожусь на моем первом веб-сайте asp.net WebForms. Чтобы отображать разные Сайты, я загружаю элемент управления в Placeholder на моей главной странице.Получить контроль по URL-адресу

пример: UserControl uc = this.LoadControl("~/controls/home.ascx") as UserControl;

это идет через мой файл default.aspx отделенного кода. Я сейчас борется с заполнением другого элемента управления на основе URL. Я знаю, что вы можете получить, например, идентификатор (если 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 

Мои папки находятся в следующей структуре:

  • Css
  • IMG
  • javascript
  • App_Data
  • бин
  • OBJ
  • управления
    • Home.aspx
    • contact.aspx ... и т.д.
  • default.aspx (с кодом за файл .cs)
  • masterpage.master
  • разное: web.config и другие файлы и папки ...
+0

Я не думаю, что это возможно. вы можете использовать строку запроса, чтобы решить эту проблему. Я могу помочь вам с querystring, если вы хотите –

+0

@Nitin Alapati уверен, почему нет. Я просто ищу хороший способ хорошо привязать элементы управления – G43beli

ответ

0

Если вы хотите, чтобы ваш сайт, чтобы перейти от domain.com/default.aspx?id=1 к domain.com/home или domain.com/login вам нужно включить дружественные URL-адреса и настроить маршрут в своих WebForms.

Скотт Гензельман имеет прохождение по следующей ссылке ...

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

Смежные вопросы