Thank you. I am reposting here.
[Master]
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<%@ Import Namespace="Ext.Net.MVC" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" />
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</title>
<script src="/Scripts/jquery-1.5.1.js" type="text/javascript"></script>
<script type="text/javascript" src="/Scripts/Monitor.js"></script>
</head>
<body>
<form id="form1" runat="server" class="x-hidden">
<div style="display: none">
<cutewebui:uploader runat="server" />
</div>
</form>
<ext:ResourceManager ID="MasterResourceManager" runat="server" Theme="Gray">
</ext:ResourceManager>
<ext:Viewport ID="TheViewPoint" EnableTheming="True" runat="server" IDMode="Explicit"
Layout="BorderLayout">
<Items>
<ext:Panel runat="server" ID="NorthPanel" Region="North" AutoHeight="True">
<Items>
<ext:Toolbar ID="MainToolBar" runat="server">
<Items>
<ext:Button runat="server" ID="btn" Height="50" Text='Open View Port'>
<Listeners>
<Click Handler="Monitor.MenuItemOnClick({ title: 'Sample', linkurl: '/Grid/Index', icon: null, passParentSize: true})" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</Items>
</ext:Panel>
<ext:Panel ID="MainContentPanel" Layout="Fit" runat="server" BodyPadding="0" AutoScroll="false"
Border="False" Title="1" Region="Center">
<Loader ID="MainContentPanelLoader" runat="server" Mode="Frame" DisableCaching="true"
AutoLoad="false" Scripts="false">
</Loader>
<Items>
<ext:Panel runat="server">
</ext:Panel>
</Items>
<Listeners>
<AfterRender Handler="App.MainContentPanel.setTitle('');">
</AfterRender>
</Listeners>
</ext:Panel>
</Items>
</ext:Viewport>
</body>
</html>
Controller
public class GridController : Controller
{
//
// GET: /Grid/
public ActionResult Index()
{
return View("Index");
}
}
View Loaded by Loader
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<meta content="NO-CACHE" http-equiv="CACHE-CONTROL" />
<%-- Override the default label seperator and set to ""--%>
<ext:ResourcePlaceHolder runat="server" Mode="ScriptFiles" />
</head>
<body>
<ext:ResourceManager runat="server">
</ext:ResourceManager>
<ext:Viewport ID="viewportResultView" runat="server" Layout="border" IDMode="Static">
<Items>
<ext:Panel ID="Panel2" runat="server" Title="Sample" Height="100" Region="Center">
<Items>
<ext:Button ID="Button1" runat="server" Text="Show Upload Dialog">
<Listeners>
</Listeners>
</ext:Button>
</Items>
</ext:Panel>
</Items>
<Listeners>
</Listeners>
</ext:Viewport>
</body>
</html>
JS
Monitor = {
MenuItemOnClick2: function (config) {
// App.MainContentPanel.clearContent();
App.MainContentPanel.load(
{
showMask: false,
url: config.linkurl,
disableCaching: true,
renderer: "frame",
passParentSize: config.passParentSize,
params: config.data,
scripts: "false"
}
);
},
MenuItemOnClick: function (config, item) {
if (Ext.isEmpty(config.isPopup)) {
config.isPopup = "false";
}
if (config.isPopup.toString().toLowerCase() == "false") {
var numericId = "452316466989"; // this.hashCode(config.linkUrl);
var id = "panel" + numericId;
var panel = App.MainContentPanel.getComponent(id);
if (App.MainContentPanel.items.length == 1) {
if (App.MainContentPanel.items.items[0].id == id) {
return;
}
}
var existingpanel = App.MainContentPanel.items.items[0];
if (existingpanel && existingpanel.configData) {
var page = Monitor.GetActiveTabBody();
if (page.ClearAllComponent) {
page.ClearAllComponent();
}
}
App.MainContentPanel.removeAll();
Ext.Function.defer(function () {
var panel = Ext.create('Ext.panel.Panel', {
id: id.toString(),
border: false,
configData: config,
loader: {
autoLoad: true,
renderer: "frame",
url: config.linkurl,
params: config.data
},
layout: "fit",
bodyPadding: 0
});
App.MainContentPanel.add(panel);
Ext.Function.defer(function () {
var iframe = $(panel.el.dom).find("iframe");
if (iframe.length > 0) {
var newId = "Iframe" + numericId;
iframe.attr("id", newId);
}
}, 100);
}, 100);
}
},
}