前台js tabpanel调用页面并传递参数给其他页面。
第一步,tabpanel js代码如下:
// Tab面板
var tabPanelReserveInfo = new Ext.TabPanel({
renderTo: document.body,
activeTab: 0,
region:"center",
width:600,
height:850,
plain:false,
defaults:{autoScroll: true},
items:[{
title: '仓库部件信息',
autoLoad:{url:'../../../Ui/Warehouse/ReserveInfo/Components.aspx', scripts:true}
},{
title: '耗材工具信息',
autoLoad:{url:'../../../Ui/Warehouse/ReserveInfo/Stuff.aspx', scripts:true,params:{secondLevelStorageId:'0101',thirdLevelStorageId:'010101'}}
//调用函数,scripts:true为了载入Stuff.aspx页面的js代码 params为传递的参数 必须保证Stuff.aspx中不再调用Extjs的基类文件ext-base.js,ext-all.js等,否则界面不显示。
}
]
});
第二步,Stuff.aspx.cs 后台获取参数,并赋值给当前页面中js变量。
string secondLevelStorageId = Request.Params["secondLevelStorageId"].ToString();
string thirdLevelStorageId = Request.Params["thirdLevelStorageId"].ToString();
//赋值给当前页面js中变量,必须在前台js文件中已经声明好的变量
Response.Write("<script> secondLevelStorageId ='"+secondLevelStorageId+"'</script>");
Response.Write("<script> thirdLevelStorageId ='" + thirdLevelStorageId + "'</script>");
也可以在js前台直接调用后台的参数:
<script>
var secondLevelStorageId =<%= secondLevelStorageId %>
</script>
不过这个变量必须在cs文件里面声明为public的