+ -
当前位置:首页 → 问答吧 → 请看下面的代码,此功能怎么实现?

请看下面的代码,此功能怎么实现?

时间:2011-04-26

来源:互联网

//定义一个树
  var root=new Ext.tree.AsyncTreeNode({
  id:"-1",
  loader:new Ext.tree.TreeLoader({
  url:"GetData.aspx?temp="+temp, //此处temp的值想通过下面FormPanel的选择框传递过来 listeners:{
  "beforeload":function(treeloader,node)
  {
  treeloader.baseParams={
  id:node.id,
  method:'POST'
  };
  }
  }
  })
  });

 

//定义一个FormPanel
  var AddInfofp = new Ext.FormPanel(
  {
  region:'center',
  resizable:false,
  labelWidth:90,
  collapsible:true,
  closeAction:'hide',
  closable:true,
  plain : true,
  frame:true,
  border:false,
  layout: 'form',
  bodyStyle:"padding:5px 5px 5px 5px",
  items:[{
  name:"dp_id",  
  xtype:"combo",
  store:DataPrivstore,
  mode:"remote",
  displayField:"dp_name",
  valueField:"dp_id",
  forceSelection:true,
  fieldLabel:"数据权限级",
  editable:false,
  typeAhead:true,
  selectOnFocus:false,
  triggerAction:"all",
  allowBlank:false,
  anchor:"90%",
  listeners:{scope:this,
  render : function(combo) {combo.setValue("门店");},
  select:function()
  {
  field=AddInfofp.form.findField("dp_id");
  if(field.isValid())
  {
  var valued=field.getValue();
  此处想根据COMBO下拉选择值来传递给上面的树,使树的数据重新加载 }
  }
  }
  }]
  });

//后台GetData.aspx.cs
string temp = Request.Form["temp"];
此处获取前台temp值

作者: jsnt_rd   发布时间: 2011-04-26

COMBO:
onchange="root.url=\"GetData.aspx?temp=\"+valued"

作者: toury   发布时间: 2011-04-26

listeners:{scope:this,
  select:function()
  {
  field=AddDPGInfofp.form.findField("dp_id");
  if(field.isValid())
  {
  var value=field.getValue();
  alert(value);
  root.url='GetData.aspx?temp='+value;
  righttree.root.reload();
  }
  }
}
代码编译通过,没有问题,但关键是我后台GetData.aspx.cs里面获取不到temp的值

作者: jsnt_rd   发布时间: 2011-04-26

【代码编译通过,没有问题,但关键是我后台GetData.aspx.cs里面获取不到temp的值】
string temp = Request.Form["temp"];???????????
你这个是GET过去的,怎么用Request.Form??

作者: toury   发布时间: 2011-04-26

引用 3 楼 toury 的回复:
【代码编译通过,没有问题,但关键是我后台GetData.aspx.cs里面获取不到temp的值】
string temp = Request.Form["temp"];???????????
你这个是GET过去的,怎么用Request.Form??

改成string temp = Request.QueryString["temp"];也还是获取不到,temp一直为null

作者: jsnt_rd   发布时间: 2011-04-26

学习阶段

作者: jieqqq168   发布时间: 2011-04-26

var value=field.getValue();
  
  root.url='GetData.aspx?temp='+value+"&t="+new Date.getTime();
alert(root.url);//看看这里是否正确?
  righttree.root.reload();

作者: toury   发布时间: 2011-04-26

alert路径没有问题,关键是string temp = Request.QueryString["temp"];temp还是NULL

作者: jsnt_rd   发布时间: 2011-04-26

照此看,即使重设root.url,虽然赋值成功,但是reload()的时候还是获取的原先的url

作者: jsnt_rd   发布时间: 2011-04-26

你查查它的reload()函数定义:
alert(righttree.root.reload;)
看看它什么机制。如果就是和网页reload()一样,那就要改代码

作者: toury   发布时间: 2011-04-26