مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

احمد سليمي

عضویت از 1393/01/25

چگونه ميتوان نام صفحات و پسوند آنها رادرهنگام نمايش در آدرس بار مخفي و يا عوض كرد؟

  • سه شنبه 26 خرداد 1394
  • 09:08
تشکر میکنم

چگونه ميتوان نام صفحات و پسوند آنها رادرهنگام نمايش در آدرس بار مخفي و يا عوض كرد؟

دوستان سلام

ميخواستم ببينم چطور ميشه نام صفحات را درهنگام نمايش آنها در آدر بار نشان نداد و يا تغيير داد؟

در اينترنت جستجو كه كردم به كد زير برخوردم ولي متاسفانه جواب نداد. حتي در سايت مايكروسافت هم توضيحاتي داده شده بود ولي بازم نتونستنم .

لطفا اگر كسي ميدونه راهنمايي كنه.

سپاس

<configuration>
<system.webserver>
<rewrite>
   <rules>
            <rule name="RemoveASPX" enabled="true" stopProcessing="true">
                <match url="(.*)\.aspx" />
                <action type="Redirect" url="{R:1}" />
            </rule>
            <rule name="AddASPX" enabled="true">
                <match url=".*" negate="false" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    <add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
                </conditions>
                <action type="Rewrite" url="{R:0}.aspx" />
            </rule>
   </rules>
</rewrite>
</system.webserver>
</configuration>

 

پاسخ های این پرسش

تعداد پاسخ ها : 11 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • سه شنبه 26 خرداد 1394
  • 09:12

شما برای تغییر نام آدرس صفحه خودتون می تونید از Routing استفاده کنید :

Url Routing در Asp.Net

کاربر سایت

احمد سليمي

عضویت از 1393/01/25

  • سه شنبه 26 خرداد 1394
  • 10:50

مهندس باقرزاده عزيز

سلام

قبل از هرچيز خيلي سپاسگزارم بابت سرعت عمل جنابعالي در پاسخگويي كه مطمئناً از حس مسئوليت پذيري مديران اين سايت ناشي ميشود.

من كد مربوطه را دانلود كردم و پس از اجرا طبق شكل زير اجرا شد.

چطور ميشه نام دلخواه را پاس كرد چون من هر كاري كرد نشد!!! و كلا چطور ميشه پارامتر رو از طريق بانك اطلاعاتي پاس كرد؟

سپاسگزارم

 

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • سه شنبه 26 خرداد 1394
  • 10:52

خواهش میکنم.

من تصویری در این تاپیک ندیدم، لطفا فایل ضمیمه خودتون را به صورت ZIP شده ارسال کنید.

کاربر سایت

احمد سليمي

عضویت از 1393/01/25

  • سه شنبه 26 خرداد 1394
  • 11:01

ارسال فايل تصوير

فایل های ضمیمه

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • سه شنبه 26 خرداد 1394
  • 11:08

شما وقتی برای یک صفحه Rout تعریف میکنید، باید داخل AddressBar هم طبق همون آدرس مسیر دهی کنید. برای مثال :

localhost:1915/Name/MyNameOrTitle

 

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • سه شنبه 26 خرداد 1394
  • 11:13

برای آشنایی بیستر با MapRouting مقاله زیر را مطالعه بفرمایید:

MapRouting

کاربر سایت

احمد سليمي

عضویت از 1393/01/25

  • سه شنبه 26 خرداد 1394
  • 11:44

ببخشيد مهندس،

با عرض شرمندگي دقيقا متوجه نشدم  !!!

فرض كنيم ميخواهم نام نشان داده شده را به MyPage تغيير دهم حال ميبايست در Page_Load كد زير را واد كنم:

        protected void Page_Load(object sender, EventArgs e)
        {
            if(Page.RouteData.Values["Name"]!=null)
            {
                Label2.Text = Page.RouteData.Values["MyPage"].ToString();
            }
        }

يا در فايل Global.asax كد زير را بنويسم :

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.MapPageRoute("MyPage", "localhost:1915/", "~/Default.aspx");
        }
        protected void Application_Start(object sender, EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);
        }

كه در هردو صورت جواب نداد.از طرفي اگر بجاي  "~/Default.aspx" آدرس كامل بگذاريم بدليل استفاده از VirtualPath خطا ميدهد.

لطفا ميشه راهنمايي بفرماييد.

سپاسگزارم

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 26 خرداد 1394
  • 11:46
public static void RegisterRoutes(RouteCollection routes)
{
    routes.MapPageRoute("MyPage", "ShowPage/{MyPage}", "~/Default.aspx");
}

 

با نام را در آدرس وارد کنید

الان در کد بالا اون {MyPage} پارامتر شما هست

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 26 خرداد 1394
  • 11:47

آدرس هم به شکل زیر میشه

localhost:1915/ShowPage/پارامتر دلخواه

 

کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • سه شنبه 26 خرداد 1394
  • 12:02

شما داخل صفحه Global.asax نام و آدرس صفحه و نام Routing مربوط به ان صفحه را نوشتید :

routes.MapPageRoute("Parameters", "Name/{Name}/", "~/Default.aspx"); 

در اینجا Name یک عنوان ثابت و {Name} دوم که داخل  {} قرار دارد متغیر شما ست. زمانی که می خواهید صفحه ای که Routing را روی آن انجام دادید و متغیر خود را به آن صفحه از طریق آدرس صفحه ارسال کردیم را بگیرید از کد زیر استفاده کنید :

    if(Page.RouteData.Values["Name"]!=null)  
       {  
           Label2.Text = Page.RouteData.Values["Name"].ToString();  
       }  

که ما اینجام در Page_Load صفحه این کار را انجام داده ایم.

برای روشن تر شدن موضوع برای شما لینک قبلی را که ارسال کردم مطالعه بفرمایید.

کاربر سایت

احمد سليمي

عضویت از 1393/01/25

  • سه شنبه 26 خرداد 1394
  • 14:35

با تشكر

بالاخره با كد زير حل شد.

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)