PDA

View Full Version : سوال: کمک فوری در طراحی سایت



nahidmoh
سه شنبه 19 اسفند 1393, 17:46 عصر
سلام
من یه سایت فروشگاهی با asp طراحی کردم. که مراکز مختلف میان توش ثبت نام می کنم . یه مشکلی که دارم تو قسمت url سایتم هست که میخوام مثلا اگه کسی اسم یک مرکز مثلا novinsaze کلیک کرد تو قسمت url سایتم به این صورت بیاد مثال : market.co.ir/novinsaze/Default.aspx ویا market.co.ir/sarzamin/Default.aspx و...
از اون جایی که قالب صفحه همه مراکزم یکسانه من یک صفحه Default.aspx ایجاد کردم که برحسب id اون مرکز اطلاعاتش رو تو اون صفحه نشون میده . اگه امکان داره کمکم کنید که چطوری میشه به فرم بالا url را در آورم . ممنون

Davidd
سه شنبه 19 اسفند 1393, 17:55 عصر
از URL Routng استفاده کنید.
مثال:
کد مربوط به فایل Global.asax

<%@ Import Namespace="System.Web.Routing" %>

void Application_Start(object sender, EventArgs e)
{
// Code that runs on application startup
RouteTable.Routes.MapPageRoute("ProfileRoute", "Profile/{UserName}", "~/Account/Profile.aspx");
}



در صفحه Profile.aspx برای به دست آوردن مقدار UserName:
string UserName = (string)Page.RouteData.Values["UserName"];

nahidmoh
سه شنبه 19 اسفند 1393, 18:21 عصر
خیلی ممنونم .
ببخشید یه سوال دیگه اگه نخواستم اون profile اولش باشه و مستقیم بعدش همون username باشه باید چه کار کرد؟

Davidd
سه شنبه 19 اسفند 1393, 18:51 عصر
خواهش می کنم. اکثر جاهایی که من دیدم اول اسم صفحه میاد بعد querystring مثلا profile/username یا product/productcode یا news/newscode ...
در مورد مسئله شما هم به این صورت میشه مثلا market.co.ir/market/novinsaze/
RouteTable.Routes.MapPageRoute("RouteName", "Market/{MarketName}", "~/Default.aspx");
یعنی کاربر برای دیدن فروشگاه novinsaze آدرس market.co.ir/market/novinsaze رو وارد میکنه و بدون اینکه متوجه بشه به صفحه Default.aspx هدایت میشه

nahidmoh
سه شنبه 19 اسفند 1393, 19:00 عصر
بله درست میفرمایید. ولی استادم بهم گفته مستقیم بعد از نام سایت نام شرکت بیاد .یعنی اون market / نباشه . اینجوری ممکن نیست ؟

Davidd
سه شنبه 19 اسفند 1393, 19:04 عصر
بله درست میفرمایید. ولی استادم بهم گفته مستقیم بعد از نام سایت نام شرکت بیاد .یعنی اون market / نباشه . اینجوری ممکن نیست ؟

خب میتونید market حذف کنید :
RouteTable.Routes.MapPageRoute("RouteName", "{MarketName}", "~/Default.aspx");