استفاده از تگ iframe در asp.net mvc
بسم الله الرحمن الرحیم
کار با iframe در mvc
در برنامه های ASP.NET MVC ممکن است بخواهید یک iFrame را در View خود Load کنید و اطلاعات خاصی را در آن نمایش دهید.
برای این کار می توانید به صورت زیر عمل کنید.
ابتدا یک Action برای نمایش View به صورت زیر ایجاد می کنیم.
public ActionResult LoadiFrame()
{
return View();
}
حال View خود را ایجاد و سپس تگ iFrame خود را در آن قرار می دهیم.
@{
ViewBag.Title = "LoadiFrame";
}
<iframe src="@Url.Action("ShowiFrame", "SignUp")"> </iframe>
همان طور که مشخص است در کد بالا برای نمایش اطلاعات درون iFrame مجددا یک Action را با نام ShowiFrame در کنترلر SignUp فراخوانی کرده ایم. این کد می تواند به صورت زیر باشد ( برای مثال ما سایت ABLY را فراخوانی کرده ایم.
/**GET: */
public ActionResult ShowiFrame()
{
return Redirect("http://ABLY.ir");
}
خروج از iframe
اما مشکل اصلی و دلیل نوشتن این مقاله این بخش از مقاله می باشد.
وقتی شما از تگ iFrame استفاده می کنید، اطلاعات شما از این لحظه به بعد دائم در iframe لود می شود برای برگرداندن سایت به حالت قبل و در واقع از بین بردن iframe باید برای Action بعد از این یکبار کد زیر را استفاده کنید تا از این به بعد مجددا اطلاعات درون View ها لود شود.
public ActionResult CloseiFrame()
{
return Content("<html><script>window.top.location.href = "http://LocalHost:1220"; </script></html>");
}
کد بالا بسیار ساده و مشخص است، فقط کافی است به جای آدرس پیش فرض در این جا (http://LocalHost:1220) آدرس خود را قرار دهید.