سلام دوستان ، امروز میخوام درمورد افزودن یک view به پلت فرتم asp کمی توضیح بدم .امیدوارم که براتون مفید باشه.در این درس کلاس HelloWorldController را اصلاح کرده تا با استفاده از view template file ها، فرایند ایجاد و ارسال پاسخ های HTML به کاربر سمت سرویس گیرنده را به طور کامل کپسوله سازی کنیم.

در ابتدا با استفاده از Razor view engine یک template file جدید ایجاد می کنیم. view template های مبتنی بر موتور Razor دارای یک پسوند .cshtml هستند و یک روش بسیار موثر در عین حال ساده برای ایجاد خروجی های HTML با استفاده از C# فراهم می نماید. Razor تعداد کاراکترهای تایپی و کلیدهایی که باید به هنگام نوشتن view template فشار دهید را به طور قابل توجهی کاهش می دهد و همچنین تجربه ی کدنویسی روان و سریع را به ارمغان می آورد.

در حال حاضر متد Index به همراه رشته یک پیام ارسال می کند که در کلاس controller، hard-code شده است. متد Index را تغییر داده تا مانند نمونه کد زیر یک شی view برگرداند:

public ActionResult Index()

{

return View();

}

متد Index که در مثال فوق مشاهده می کنید از یک template view برای ایجاد پاسخ HTML و ارسال آن به مرورگر استفاده می کند. متدهای controller همچون Index(که از آن ها با نام action methods نیز یاد می شود) به طور معمول یک ActionResult (یا یک کلاس مشتق شده از ActionResult) برمی گردانند و نه نوع های اولیه (primitive types) مانند نوع رشته.

روی پوشه ی Views\HelloWorldراست کلیک کرده و Add را انتخاب کنید، سپس MVC 5 View Page with (Layout Razor) را کلیک نمایید.

در پنجره ی محاوره ی Specify Name for Item، Index را وارد کرده، سپس OK را کلیک نمایید.

در پنجره ی محاوره ی Select a Layout Page، _Layout.cshtml پیش فرض را پذیرفته و را کلیک کنید.

clip_image006[4]

در پنجره ی محاوره ی فوق، پوشه ی Views\Sharedدر قاب سمت چپ انتخاب شده است. اگر از قبل یک layout file سفارشی در پوشه ی دیگر ایجاد کرده باشید، می توانید آن را انتخاب کنید. درباره ی layout file بعدا توضیح خواهیم داد. فایل MvcMovie\Views\HelloWorld\Index.cshtml ایجاد شد.

اکنون نشانه گذاری های (markup) رنگی شده را اضافه کنید.

@{

Layout = “~/Views/Shared/_Layout.cshtml”;

}

@{

ViewBag.Title = “Index”;

}

Index

Hello from our View Template!

روی فایل Index.cshtml راست کلیک کرده و View in Browser را انتخاب کنید.

همچنین می توانید روی فایل Index.cshtml راست کلیک کرده و View in Page Inspector را انتخاب نمایید.

یا به روشی دیگر، برنامه را اجرا کرده و به آدرس http://localhost:xxxx/HelloWorld (کنترلر HelloWorld) مراجعه نمایید. متد Index در controller کار زیادی انجام نمی داد بلکه صرفا دستور return View() را اجرا می کرد. دستور ذکر شده مشخص می کرد که متد موردنظر باید از یک template file برای ارائه ی پاسخ به مرورگر استفاده کند. به این خاطر که شما اسم view template file برای استفاده را به صورت صریح مشخص نکرده اید، ASP.NET MVC به صورت پیش فرض از view file Index.cshtml در پوشه ی \Views\HelloWorld استفاده می کند. تصویر زیر رشته ی “Hello from our View Template!” که در view، hard-code شده را نمایش می دهد.

عالیه نه! اما همان طور که در تصویر بالا مشاهده می کنید، نوار عنوان مرورگر متن “Index My ASP.NET Appli” و لینک بزرگ در بالای صفحه متن “Application name” را نمایش می دهد. بسته به اینکه چقدر صفحه ی پنجره ی مرورگر را کوچک می کنید، ممکن است لازم باشد سه نوار را در سمت راست، بالای صفحه کلیک کنید تا لینک های Home، About، Contact، Register و Log in را مشاهده کنید.

تغییر دادن view ها و صفحات layout

در مرحله ی اول، بایستی لینک “Application name” واقع در قسمت بالای صفحه را تغییر دهید. آن متن بین تمامی صفحات مشترک بوده و در تمامی آن ها موجود می باشد، اما حقیقت این است که تنها در یک قسمت پروژه پیاده سازی شده و در عین حال در تمامی صفحات برنامه نمایش داده می شود. به پوشه ی /Views/Shared در پنجره ی Solution Explorer مراجعه کرده، سپس فایل _Layout.cshtml را باز کنید. فایل نام برده layout page نامیده شده و در پوشه ی مشترکی جای گذاری شده که تمامی دیگر صفحات می توانند از آن استفاده کنند.

Layout template ها به شما این امکان را می دهند که layout نگهدارنده ی HTML سایت خود را یک مکان واحد مشخص کرده و آن را در چندین صفحه داخل سایت خود اعمال نمایید. خط حاوی @RenderBody() را پیدا کنید. RenderBody یک placeholder است که در آن تمامی صفحات مختص view که ایجاد کرده اید، گنجانده شده در layout page، نمایش داده می شوند (در واقع صفحه محتوا در این قسمت قرار می گیرد. Layout برای نمایش قالب و طرح هر صفحه در برنامه به کار می رود). برای مثال، اگر شما لینک About را انتخاب کنید، Views\Home\About.cshtmlداخل متد RenderBody، render می شود.

محتوایات المان title را تغییر دهید. ActionLink را در layout template از “Application name” به “MVC Movie” تغییر داده، سپس controller را از Home به Movies تغییر دهید. فایل layout به طور کامل در زیر نمایش داده شده است:

@Styles.Render(“~/Content/css”)

@Scripts.Render(“~/bundles/modernizr”)

@RenderBody()


© @DateTime.Now.Year – My ASP.NET Application

@Scripts.Render(“~/bundles/jquery”)

@Scripts.Render(“~/bundles/bootstrap”)

@RenderSection(“scripts”, required: false)

پس از اجرای برنامه مشاهده خواهید کرد که متن “MVC Movie ” را نشان می دهد. حال لینک About را کلیک کرده و ببینید که این صفحه نیز مانند صفحه ی قبل متن “MVC Movie” را نمایش می دهد. بنابراین می توان یکبار این تغییر را در layout template اعمال کرد و دید که چگونه این تغییر (عنوان جدید) در تمامی صفحات موجود در سایت منعکس می شود.

clip_image016[4]

هنگامی که برای اولین بار فایل Views\HelloWorld\Index.cshtm را ایجاد کردیم، کد زیر را دربرداشت:

@{

Layout = “~/Views/Shared/_Layout.cshtml”;

}

کد razor بالا، layout page را تعریف یا تنظیم می کند. فایل Views\_ViewStart.cshtmlرا بررسی کنید، خواهید دید که دربردارنده ی همان razor markup است. فایل Views\_ViewStart.cshtml، layout ای را تعریف می کند که مشترک بوده و مورد استفاده ی تمامی view ها می باشد، بنابراین می توانید توسط comment یا به روش معمولی آن کد را از فایل Views\HelloWorld\Index.cshtmlحذف کنید.

@*@{

Layout = “~/Views/Shared/_Layout.cshtml”;

}*@

@{

ViewBag.Title = “Index”;

}

Index

Hello from our View Template!

می توانید با استفاده از خاصیت Layout، یک layout view متفاوت تنظیم کنید و یا آن را روی مقدار null تنظیم نمایید تا هیچ layout file ای مورد استفاده قرار نگیرد.

حال عنوان Index view را تغییر دهید.

MvcMovie\Views\HelloWorld\Index.cshtml را باز کنید. دو مکان برای ایجاد تغییر وجود دارد: اول، آن متنی که در عنوان مرورگر ظاهر می شود و دیگری در header دوم (المان

). آن را تا حدی تغییر دهید که بتوانید تشخیص دهید کدام تکه از کد، کدام بخش از برنامه را تغییر داده است.

@{

ViewBag.Title = “Movie List”;

}

My Movie List

Hello from our View Template!

برای مشخص کردن یک title یا عنوان برای صفحه، تکه کد بالا خاصیت Title شی ViewBag (که در view template فایل Index.cshtml قرار دارد) را با مقدار “Movie List” تنظیم می کنیم. دقت داشته باشید که layout template ( Views\Shared\_Layout.cshtml ) مقدار موجود در تگ را به عنوان بخشی از قسمت صفحه ی HTML که قبلا مورد اصلاح قرار گرفته بود، استفاده می کند.</p> <p> </p> <p> @Styles.Render(“~/Content/css”)</p> <p> @Scripts.Render(“~/bundles/modernizr”)</p> <p>با استفاده از ViewBag، می توان به راحتی پارامترهای دیگری را بین view template و layout file خود رد و بدل (پاس داد) کرد.</p> <p>حال برنامه را اجرا کنید. توجه داشته باشید که عنوان مرورگر، heading اصلی، heading دوم تغییر یافته اند. (در صورت مشاهده نکردن تغییر، نگران نباشید. ممکن است مرورگر شما محتوای حافظه نهان یا cache را خوانده و برای شما به نمایش بگذارد. با استفاده از میانبر Ctrl+F5، کاری کنید که پاسخ از سرور بارگذاری شود.) عنوان مرورگر توسط ViewBag.Title که در view template (Index.cshtml) و همچنین “- “Movie App که در داخل layout file اضافه کردید، ایجاد و تنظیم می شود.</p> <p>همچنین دقت کنید که چگونه محتوای موجود در view template ” Index.cshtml” با محتوای view template ” _Layout.cshtml ” ادغام شده و یک پاسخ HTML به مرورگر ارسال شده است. layout template به شما این امکان را می دهد تا به آسانی تغییراتی را وارد کنید که در تمامی صفحات برنامه اعمال می شوند.</p> <p>اما باید توجه داشته باشید که داده های ما (در این مورد پیغام “Hello from our View Template!” ) hard-code شده هستند. برنامه ی MVC حاضر یک بخش به نام view یا نما و یک بخش به نام controller یا کنترلگر دارد، اما در آن خبری از یک model نیست. در مبحث بعدی نحوه ی ایجاد یک پایگاه داده و واکشی اطلاعات مدل از آن پایگاه داده را برای شما شرح می دهیم.</p> <p>ارسال داده ها از controller به view</p> <p>پیش از پرداختن به پایگاه داده و بحث درباره ی model ها، لازم است نحوه ی ارسال اطلاعات از controller به view را تشریح کنیم. کلاس های controller در پاسخ به درخواست URL دریافتی فراخوانده می شوند. کلاس controller جایی است که در آن کدهایی می نویسید که درخواست های مرورگر را مدیریت می کند ، داده از بانک اطلاعاتی واکشی کرده و در نهایت تصمیم می گیرد چه نوع پاسخی به مرورگر بازگرداند. در پی آن view template ها می توانند از یک controller بکار گرفته شده و پاسخ مناسب HTML به مرورگر را ایجاد و قالب بندی (format) کنند.</p> <p>Controller ها مسئول فراهم نمودن تمامی داده ها و اشیا لازم که view template برای ارائه ی خروجی به مرورگر به آن ها نیاز دارد، می باشد ( Controller قسمتی از برنامه است که تعامل با کاربر را مدیریت می کند.نوعا controller داده ها را از یک view می خواند، ورودی کاربر را کنترل می کند، و داده های ورودی را به model می فرستد). یک نکته ی بسیار مهم: یک view template هیچگاه نباید منطق business اجرا کند یا با پایگاه داده به طور مستقیم تعامل داشته باشد، بلکه یک view template صرفا باید با داده هایی که توسط controller در اختیار آن قرار گرفته، سروکار داشته باشد. دنبال کردن این رویکرد ” جداسازی وظایف/separation of concerns ” به شما در مرتب نگه داشتن کد و حفظ قابلیت آزمایش پذیری (testable) آن کمک شایانی می کند.</p> <p>در حال حاضر، action method موجود در کلاس HelloWorldController که Welcome نام گذاری شده، یک پارامتر name و numTimes می پذیرد، سپس مقادیر را به طور مستقیم به مرورگر (به صورت خروجی) تحویل (output) می دهد. به جای اینکه کاری کنیم تا controller این خروجی یا پاسخ را به صورت رشته ارائه دهد (render کند)، controller را گونه ای تغییر می دهیم که از یک template view استفاده کند. view template یک پاسخ پویا (dynamic response) ارائه می کند، بدین معنا که شما باید فقط دادهای مورد نیاز و مناسب را از controller به view ارسال نمایید تا بدین وسیله پاسخ و خروجی مناسب ایجاد شود. برای این منظور می توان کاری کرد که controller داده های پویایی (پارامترها) کهview template به آن ها نیاز دارد را داخل یک شی ViewBag جای گذاری کند. پس از انجام این کار، view template می تواند به راحتی به آن داده های پویا از داخل شی ViewBag دسترسی داشته باشد.</p> <p>به فایل HelloWorldController.cs بازگشته و متد Welcome را اصلاح کنید تا بتوان مقادیر Message و NumTimes را به شی ViewBag افزود. ViewBag یک شی پویا (dynamic object) است، بدین معنا که می توان هر چیزی که دلخواه تان است را داخل آن قرار دهید؛ ViewBag تا زمانی که چیزی درون آن قرار نداده اید، هیچ خاصیت تعریف شده ای نخواهد داشت. ASP.NET MVC model binding system به صورت خودکار پارامترهای نامگذاری شده (name و numTimes) را از query string در نوار آدرس به پارامترهای موجود در متد نگاشت می کند. فایل کامل HelloWorldController.cs بدین شکل است:</p> <p> using System.Web;</p> <p> using System.Web.Mvc;</p> <p>namespace MvcMovie.Controllers</p> <p>{</p> <p> public class HelloWorldController : Controller</p> <p> {</p> <p> public ActionResult Index()</p> <p> {</p> <p> return View();</p> <p> }</p> <p> public ActionResult Welcome(string name, int numTimes = 1)</p> <p> {</p> <p> ViewBag.Message = “Hello ” + name;</p> <p> ViewBag.NumTimes = numTimes;</p> <p> return View();</p> <p> }</p> <p> }</p> <p>}</p> <p>اکنون شی ViewBag دربردارنده ی داده هایی است که به صورت خودکار به view ارسال می شوند. در مرحله ی بعد به یک view template به نام welcome نیاز دارید! در منو Build، Build Solution را انتخاب کرده (و یا دکمه های Ctrl+Shift+B را به طور همزمان فشار دهید) تا پروژه ترجمه/کامپایل شود. روی پوشه ی Views\HelloWorld راست کلیک کرده و Add را کلیک نمایید. حال گزینه ی click MVC 5 View Page with (Layout Razor) را انتخاب نمایید.</p> <p>clip_image019</p> <p>در پنجره ی محاوره ی Specify Name for Item، Welcomeرا وارد کرده، سپس OK را کلیک کنید.</p> <p>در پنجره ی محاوره ی Select a Layout Page، _Layout.cshtml پیش فرض را پذیرفته و OK را کلیک کنید.</p> <p>فایل MvcMovie\Views\HelloWorld\Welcome.cshtml ایجاد شد.</p> <p>Markup موجود در فایل Welcome.cshtml را جایگزین کنید. یک حلقه ایجاد می کنیم که رشته ی “Hello” را به تعداد دفعات مشخص شده از طرف کاربر تکرار کند. فایل کامل Welcome.cshtml در زیر به نمایش گذاشته شده است:</p> <p>@{</p> <p> ViewBag.Title = “Welcome”;</p> <p>}</p> <h2>Welcome</h2> <ul> <p> @for (int i = 0; i < ViewBag.NumTimes; i++)</p> <p> {</p> <li>@ViewBag.Message</li> <p> }</p> </ul> <p>برنامه را اجرا کرده و به آدرس زیر مراجعه کنید:</p> <p>http://localhost:xx/HelloWorld/Welcome?name=Scott&numtimes=4</p> <p>اکنون داده ها از URL دریافت شده و از طریق model binder به controller ارسال می گردد. Controller داده های مورد نظر را در شی ViewBag به صورت پکیج درآورده، سپس آن شی را به view پاس می دهد. View نیز داده ها را در قالب HTML به کاربر نمایش می دهد.</p> <p>در نمونه ی فوق، با استفاده از یک شی ViewBag، اطلاعات را از controller به view ارسال کردیم. در فواصل بعدی آموزش حاضر، از یک view model برای ارسال اطلاعات از controller به view استفاده می کنیم. این رویکرد (ارسال داده از controller به view) ارسال اطلاعات، در مقایسه با روش قبلی از محبوبیت بیشتری برخوردار است.</p> <p>در این درس یک مدل ایجاد کردیم، ولی ساخت پایگاه داده را در مبحث بعدی مطرح خواهیم کرد. در درس بعدی با استفاده از دانش کسب شده، یک پایگاه داده از فیلم ها ایجاد می کنیم.</p> <div class="clear"></div> </div> <div class="post-tags"> <a href="http://help.regiran.com/tag/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-php/" rel="tag">آموزش PHP</a><a href="http://help.regiran.com/tag/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%db%8c%da%a9-view/" rel="tag">آموزش افزودن یک view</a> </div> </div> <div class="post-box-wrapper first"> <div class="post-box"> <h5>درباره نویسنده</h5> <img alt='' src='http://0.gravatar.com/avatar/c15beff9753565d2c37ed75241a81fba?s=75&d=mm&r=g' srcset='http://0.gravatar.com/avatar/c15beff9753565d2c37ed75241a81fba?s=150&d=mm&r=g 2x' class='avatar avatar-75 photo' height='75' width='75' /> <p></p> </div> </div> <div class="post-box-wrapper"> <div class="post-box"> <h5>نوشته‌های مرتبط</h5> </div> </div> <div id="comments" class="post-box-wrapper"> <div class="post-box"> <!-- You can start editing here. --> <!-- If comments are open, but there are no comments. --> <div id="respond"> <h5>ارسال دیدگاه</h5> <p class="cancel-comment-reply"><a rel="nofollow" id="cancel-comment-reply-link" href="/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%a7%d9%81%d8%b2%d9%88%d8%af%d9%86-%db%8c%da%a9-view/#respond" style="display:none;">برای صرف‌نظر کردن از پاسخ‌گویی اینجا را کلیک کنید.</a></p> <p>شما باید <a href="http://help.regiran.com/wp-login.php?redirect_to=http%3A%2F%2Fhelp.regiran.com%2F%25d8%25a2%25d9%2585%25d9%2588%25d8%25b2%25d8%25b4-%25d8%25a7%25d9%2581%25d8%25b2%25d9%2588%25d8%25af%25d9%2586-%25db%258c%25da%25a9-view%2F">وارد شوید</a> تا دیدگاهی ارسال کنید.</p> </div> </div> </div> </div> </div> <div id="sidebar"> <div class="widget"><h4>دسته ها</h4><label class="screen-reader-text" for="cat">دسته ها</label><select name='cat' id='cat' class='postform' > <option value='-1'>گزینش دسته</option> <option class="level-0" value="50">CCNA  (188)</option> <option class="level-0" value="5">cPanel  (149)</option> <option class="level-0" value="6">DirectAdmin  (48)</option> <option class="level-0" value="7">Enkompass  (17)</option> <option class="level-0" value="19">Froxler  (8)</option> <option class="level-0" value="20">H-Sphere  (3)</option> <option class="level-0" value="8">Helm  (44)</option> <option class="level-0" value="22">kloxo  (22)</option> <option class="level-0" value="52">Linux  (47)</option> <option class="level-0" value="51">MCSE  (82)</option> <option class="level-0" value="49">Network +  (197)</option> <option class="level-0" value="9">Pleask  (51)</option> <option class="level-0" value="21">Webmin  (13)</option> <option class="level-0" value="18">WebsitePanel  (15)</option> <option class="level-0" value="55">آموزش ++C  (150)</option> <option class="level-0" value="32">آموزش Ajax  (174)</option> <option class="level-0" value="30">آموزش ASP  (283)</option> <option class="level-0" value="56">آموزش C  (163)</option> <option class="level-0" value="36">آموزش CSS  (244)</option> <option class="level-0" value="62">آموزش CSS3  (105)</option> <option class="level-0" value="35">آموزش HTML  (462)</option> <option class="level-0" value="66">آموزش HTML 5  (205)</option> <option class="level-0" value="61">آموزش Java Script  (564)</option> <option class="level-0" value="54">آموزش jQuery  (313)</option> <option class="level-0" value="31">آموزش PHP  (342)</option> <option class="level-0" value="67">آموزش Python  (103)</option> <option class="level-0" value="63">آموزش RSS  (43)</option> <option class="level-0" value="64">آموزش WSDL  (22)</option> <option class="level-0" value="60">آموزش XML  (175)</option> <option class="level-0" value="7119">آموزش بوت استراپ  (37)</option> <option class="level-0" value="59">آموزش پایگاه داده MYSQL  (41)</option> <option class="level-0" value="57">آموزش پایگاه داده SQL  (138)</option> <option class="level-0" value="65">آموزش پروتکل SOAP  (31)</option> <option class="level-0" value="69">آموزش جوملا  (314)</option> <option class="level-0" value="58">آموزش زبان اسمبلی  (162)</option> <option class="level-0" value="53">آموزش سی شارپ #C  (83)</option> <option class="level-0" value="8606">آموزش وردپرس  (714)</option> <option class="level-0" value="7286">امنیت شبکه  (108)</option> <option class="level-0" value="29">برنامه نویسی  (242)</option> <option class="level-0" value="17">بهینه سازی SEO  (813)</option> <option class="level-0" value="24">پنل مدیریت DirectAdmin  (60)</option> <option class="level-0" value="28">ریسلری DirectAdmin  (8)</option> <option class="level-0" value="33">ریسلری HELM  (15)</option> <option class="level-0" value="10">ریسلری WHM  (50)</option> <option class="level-0" value="27">سرور cPanel  (135)</option> <option class="level-0" value="25">سرور DirectAdmin  (68)</option> <option class="level-0" value="15">سرور لینوکس  (322)</option> <option class="level-0" value="16">سرور ویندوز  (58)</option> <option class="level-0" value="68">سیستمهای مدیریت محتوا  (603)</option> <option class="level-0" value="48">شبکه  (1,151)</option> <option class="level-0" value="3">طراحی وب  (2,244)</option> <option class="level-0" value="1">عمومی  (3,205)</option> <option class="level-0" value="4">کنترل پنلها  (163)</option> <option class="level-0" value="14">مدیریت سرور  (148)</option> <option class="level-0" value="23">میزبانی وب  (645)</option> <option class="level-0" value="26">میکروتیک  (38)</option> <option class="level-0" value="34">وب و اینترنت  (1,663)</option> </select> <script type='text/javascript'> /* <![CDATA[ */ (function() { var dropdown = document.getElementById( "cat" ); function onCatChange() { if ( dropdown.options[ dropdown.selectedIndex ].value > 0 ) { location.href = "http://help.regiran.com/?cat=" + dropdown.options[ dropdown.selectedIndex ].value; } } dropdown.onchange = onCatChange; })(); /* ]]> */ </script> </div><div class="widget"><h4>جستجو</h4><form method="get" id="searchform" action="http://help.regiran.com/"> <input type="text" class="search-field" name="s" id="s"> <input type="submit" value="جستجو" class="search-button"> </form></div> <div id="secondary-sidebar-wrap" class="span-4 last"> <div class="sidebar-secondary"> <ul class="widget-wrap"> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa/" target="_blank"><font color="#1122CC"><b>سايت ساز صفحه نگار</b></font> <br /> <font size="2"> بدون نياز به دانش فني وب سايت بزرگي بسازيد و مديريت کنيد </font> <font color="#009933"> <b><br /> از 200000 تومان </b></font> </a> </li></ul> <li class="social-connect-widget"> <a href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d9%87%d8%a7%d8%b3%d8%aa-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d8%b1%d8%ac%db%8c%d8%b1%d8%a7%d9%86-linux/" target="_blank"><font color="#1122CC"><b>هاست لينوکس</b></font> <br /> <font size="2"> هاست لينوکس دوگانه استفاده همزمان سايت از 2 ديتا سنتر </font> <font color="#009933"> <b><br /> از 60000 تومان </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-%d9%87%d8%a7%d8%b3%d8%aa-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-%d8%b1%d8%ac%db%8c%d8%b1%d8%a7%d9%86-windows/" target="_blank"><font color="#1122CC"><b>هاست ويندوز ابري</b></font> <br /> <font size="2"> قرار گرفتن سايت شما بر روي سرورهاي جداگانه قطعي را به صفر ميرساند </font> <font color="#009933"> <b><br /> از 120000 تومان </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d8%a7%d9%81%d8%b2%d8%a7%db%8c%d8%b4-%d8%b1%d8%aa%d8%a8%d9%87-%d8%af%d8%b1-%da%af%d9%88%da%af%d9%84/" target="_blank"><font color="#1122CC"><b>افزيش رتبه در گوگل</b></font> <br /> <font size="2"> به شما کمک ميکنيم تا بالاتر از رقيبان خود باشيد </font> <font color="#009933"> <b><br /> از 500000 تومان </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa/" target="_blank"><font color="#1122CC"><b>طراحي وب سايت</b></font> <br /> <font size="2"> بهترين و مدرنترين طراحي وب سايت با 15 سال سابقه </font> <font color="#009933"> <b><br /> از 200000 تومان </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%a7%d8%ae%d8%aa%d8%b5%d8%a7%d8%b5%db%8c-%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%d8%b2%d9%85%d8%a7%d9%86%db%8c/" target="_blank"><font color="#1122CC"><b>هاست اختصاصي</b></font> <br /> <font size="2"> منابع سخت افزاري بيشتر براي سايتهاي پربازديد، شرکتهاي بزرگ،سازمانها و... </font> <font color="#009933"> <b><br /> از 150000 تومان </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d8%ab%d8%a8%d8%aa-%d8%af%d8%a7%d9%85%d9%86%d9%87/" target="_blank"><font color="#1122CC"><b>ثبت دامنه</b></font> <br /> <font size="2"> ثبت آنلاين و تحويل آني انواع پسوندها به نام شما و با قابليت مديريت کامل </font> <font color="#009933"> <b><br /> از 5000 تومان </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d8%b3%d8%b1%d9%88%d8%b1-%d8%a7%d8%ae%d8%aa%d8%b5%d8%a7%d8%b5%db%8c/" target="_blank"><font color="#1122CC"><b>سرور اختصاصي</b></font> <br /> <font size="2"> سرورهاي با کيفيت با مديريت کامل و UpTime 99.9% </font> <font color="#009933"> <b><br /> ليست قيمت ها </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d9%86%d9%85%d8%a7%db%8c%d9%86%d8%af%da%af%db%8c-%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b1%db%8c%d8%b3%d9%84%d8%b1%db%8c-%d9%87%d8%a7%d8%b3%d8%aa-%d9%84%db%8c%d9%86%d9%88%da%a9/" target="_blank"><font color="#1122CC"><b>ريسلري هاستينگ</b></font> <br /> <font size="2"> به صورت اختصاصي براي مشتريان خود سايت ايجاد کنيد </font> <font color="#009933"> <b><br /> از 145000 تومان </b></font> </a> </li></ul> <ul class="widget-wrap"><li class="social-connect-widget"> <a href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d9%87%d8%a7%d8%b3%d8%aa-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d8%b1%d8%ac%db%8c%d8%b1%d8%a7%d9%86-linux/" target="_blank"><font color="#1122CC"><b>ميزباني وب (هاست)</b></font> <br /> <font size="2"> فضاي وب براي ايجاد سايت شما </font> <font color="#009933"> <b><br /> از 60000 تومان </b></font> </a> </li></ul> </div><!-- .sidebar-secondary --> </div><!-- #secondary-sidebar-wrap --> </div> </div> <div class="clear"></div> <div id="footer-wrapper"> <div id="footer"> <div class="sitemap-container clearfix"> <ul class="sitemap clearfix"><li class="column"><h4 style="color: #244590; font-family: Tahoma; font-size: 18px; font-weight: normal; padding-bottom: 10px;">رجیران</h4><ul><li><a title="" class="core_button_normal" href="http://members.regiran.com/clientarea.php" id="button-ct-sitemap-domains-domregistration" target="_blank"> پورتال کاربران </a></li><li><a title="" class="core_button_normal" href="http://members.regiran.com/knowledgebase.php?action=displayarticle&id=150" id="button-ct-sitemap-domains-domtransfer" target="_blank"> راهنمای پورتال</a></li><li> <a title="" class="core_button_normal" href="http://members.regiran.com/cart.php" id="button-ct-sitemap-domains-domapps0" target="_blank"> سفارش آنلاین </a></li><li><a title="" class="core_button_normal" href="http://help.regiran.com" id="button-ct-sitemap-domains-domapps" target="_blank"> آموزش وب رجیران </a></li><li> <a title="" class="core_button_normal" href="http://regiran.com/%D9%82%D9%88%D8%A7%D9%86%DB%8C%D9%86-%D9%88-%D8%B4%D8%B1%D8%A7%DB%8C%D8%B7/" id="button-ct-sitemap-domains-domapps1" target="_blank"> قوانین و توافقنامه </a></li></ul></li> <li class="column"><h4 style="color: #244590; font-family: Tahoma; font-size: 18px; font-weight: normal; padding-bottom: 10px;">نمايندگی</h4><ul><li><a title="for business users" class="" href="http://regiran.com/%d8%ab%d8%a8%d8%aa-%d8%af%d8%a7%d9%85%d9%86%d9%87/" id="button-ct-sitemap-mywebsite-business" target="_blank"> نمایندگی ثبت دامنه </a></li><li><a title="for individual users" class="" href="http://regiran.com/%d9%86%d9%85%d8%a7%db%8c%d9%86%d8%af%da%af%db%8c-%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b1%db%8c%d8%b3%d9%84%d8%b1%db%8c-%d9%87%d8%a7%d8%b3%d8%aa-%d9%84%db%8c%d9%86%d9%88%da%a9/" id="button-ct-sitemap-mywebsite-personal" target="_blank"> نمايندگی هاست رجیران </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d9%86%d9%85%d8%a7%db%8c%d9%86%d8%af%da%af%db%8c-%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b1%db%8c%d8%b3%d9%84%d8%b1%db%8c-%d9%87%d8%a7%d8%b3%d8%aa-%d9%84%db%8c%d9%86%d9%88%da%a9/" id="button-ct-sitemap-hosting-sitedesign" target="_blank"> نمايندگی اعتباری </a></li> </ul></li> <li class="column"><h4 style="color: #244590; font-family: Tahoma; font-size: 18px; font-weight: normal; padding-bottom: 10px;"> سرورها</h4><ul><li><a title="" class="core_button_normal" href="http://regiran.com/%d8%b3%d8%b1%d9%88%d8%b1-%d8%a7%d8%ae%d8%aa%d8%b5%d8%a7%d8%b5%db%8c/" id="button-ct-sitemap-hosting-linuxhosting" target="_blank"> سرورهای اختصاصی </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%a7%d8%ae%d8%aa%d8%b5%d8%a7%d8%b5%db%8c-%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%d8%b2%d9%85%d8%a7%d9%86%db%8c/" id="button-ct-sitemap-hosting-windowshosting" target="_blank"> سرور مجازی لينوکس </a></li> <li><a title="" class="core_button_normal" href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%a7%d8%ae%d8%aa%d8%b5%d8%a7%d8%b5%db%8c-%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%d8%b2%d9%85%d8%a7%d9%86%db%8c/" id="button-ct-sitemap-hosting-windowshosting" target="_blank"> سرور مجازی ويندوز </a></li> </ul></li> <li class="column"><h4 style="color: #244590; font-family: Tahoma; font-size: 18px; font-weight: normal; padding-bottom: 10px;">طراحی سایت</h4><ul><li><a title="" class="core_button_normal" href="http://regiran.com/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa/" id="button-ct-sitemap-mail-instantmail" target="_blank"> سايت ساز صفحه نگار </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%81%d8%b1%d9%88%d8%b4%da%af%d8%a7%d9%87-%d8%a7%db%8c%d9%86%d8%aa%d8%b1%d9%86%d8%aa%db%8c/" id="button-ct-sitemap-mail-mailxchange" target="_blank"> فروشگاه ساز صفحه نگار </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d9%86%d9%85%d9%88%d9%86%d9%87-%da%a9%d8%a7%d8%b1%d9%87%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa/" id="button-ct-sitemap-mail-msexchange" target="_blank"> نمونه کارها </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d8%a7%d9%81%d8%b2%d8%a7%db%8c%d8%b4-%d8%b1%d8%aa%d8%a8%d9%87-%d8%af%d8%b1-%da%af%d9%88%da%af%d9%84/" id="button-ct-sitemap-mail-smartphoneapps" target="_blank"> افزایش رتبه در گوگل </a></li> <li><a title="" class="core_button_normal" href="http://www.regiran.com/Safhe_Negar.zip" id="button-ct-sitemap-mail-smartphoneapps" target="_blank"> دريافت کاتالوگ قبل از خريد </a></li> </ul></li> <li class="column"><h4 style="color: #244590; font-family: Tahoma; font-size: 18px; font-weight: normal; padding-bottom: 10px;">هاست</h4><ul><li><a title="" class="core_button_normal" href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d9%87%d8%a7%d8%b3%d8%aa-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3-%d8%b1%d8%ac%db%8c%d8%b1%d8%a7%d9%86-linux/" id="button-ct-sitemap-server-dedicated" target="_blank"> هاست لينوکس </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-%d9%87%d8%a7%d8%b3%d8%aa-%d9%88%db%8c%d9%86%d8%af%d9%88%d8%b2-%d8%b1%d8%ac%db%8c%d8%b1%d8%a7%d9%86-windows/" id="button-ct-sitemap-server-virtual" target="_blank"> هاست ويندوز 2008 </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%a7%d8%ae%d8%aa%d8%b5%d8%a7%d8%b5%db%8c-%d9%85%db%8c%d8%b2%d8%a8%d8%a7%d9%86%db%8c-%d9%88%d8%a8-%d8%b3%d8%a7%d8%b2%d9%85%d8%a7%d9%86%db%8c/" id="button-ct-sitemap-server-dcs" target="_blank"> هاست اختصاصي </a></li><li><a title="" class="core_button_normal" href="http://members.regiran.com/knowledgebase.php?action=displaycat&catid=5" id="button-ct-sitemap-server-smartphoneapps" target="_blank"> سوالات متداول </a></li></ul></li> <li class="column"><h4 style="color: #244590; font-family: Tahoma; font-size: 18px; font-weight: normal; padding-bottom: 10px;">ثبت دامنه</h4><ul><li><a title="" class="core_button_normal" href="http://regiran.com/%d8%ab%d8%a8%d8%aa-%d8%af%d8%a7%d9%85%d9%86%d9%87/" id="button-ct-sitemap-ecommerce-sharepoint" target="_blank"> تعرفه دامنه </a></li><li><a title="" class="core_button_normal" href="http://members.regiran.com/cart.php?a=add&domain=register" id="button-ct-sitemap-ecommerce-eshops" target="_blank"> سفارش آنلاین دامنه </a></li><li><a title="" class="core_button_normal" href="http://regiran.com/%d8%a7%d9%86%d8%aa%d8%ae%d8%a7%d8%a8-%d9%86%d8%a7%d9%85-%d8%af%d8%a7%d9%85%db%8c%d9%86-domain-%d8%af%d8%a7%d9%85%d9%86%d9%87/" id="button-ct-sitemap-ecommerce-listlocal" target="_blank"> نکاتی درباره انتخاب دامنه </a></li><li><a title="" class="core_button_normal" href="http://members.regiran.com/knowledgebase.php?action=displaycat&catid=3" id="button-ct-sitemap-ecommerce-sem" target="_blank"> سوالات متداول </a></li> <li><a title="" class="core_button_normal" href="http://members.regiran.com/domainchecker.php" id="button-ct-sitemap-ecommerce-sem" target="_blank"> جستجوگر دامنه </a></li> </ul></li></ul> </div> </div> </div> <div id="bottom-wrapper"> <div id="bottom"> <span class="totop"><a href="#">Back to Top</a></span> <span class="left"><p> <a href="http://jigsaw.w3.org/css-validator/check/referer"> <img style="border:0;width:44px;height:16px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" /> </a> <a href="http://jigsaw.w3.org/css-validator/check/referer"> <img style="border:0;width:44px;height:16px" src="http://jigsaw.w3.org/css-validator/images/vcss-blue" alt="Valid CSS!" /> </a> </p> </span> <span class="right"><div align="center"><font size="1" face="tahoma" color="#fff"> رجيران ® علامت تجاري ثبت شده است و هرگونه کپي برداري و ايجاد تشابه پيگرد قانوني دارد. 1391-1380© </font></div> <div align="center"><font size="1" face="tahoma" color="#fff"> Copyright © 2001 - 2012 REGIRAN ® All rights reserved. Portal System Powered by <a href="http://regiran.com"><font size="1px" face="tahoma" color="#fff">Safhe Negar ® v2.1 </a> </font></div> </div></span> </div> </div> <script type='text/javascript' src='http://help.regiran.com/wp-includes/js/wp-embed.min.js?ver=4.7.29'></script> </body> </html>