有一页面A.aspx,一页面B.aspx 其中B.aspx中有一treeview和textbox B.aspx作为被弹出的窗体 如何将B.aspx上的treeview的节点内容显示在textbox中并且将值传回A.aspx我的代码如下:A.aspx:
function ShowOpenWindow(Url,Flag)
{
vReturnValue = window.showModalDialog(Url,'11','dialogHeight:330px;dialogWidth:500px;center:1;resizable:0;status:0;scroll:1;help:0;');
if(typeof(vReturnValue)!="undefined")
{
SpvReturnValue=vReturnValue.split("$")
{
if(Flag=="Area")
{
//document.SearchForm.ClassName.value=SpvReturnValue[0];
document.getElementById.className.value=SpvReturnValue[0];
document.SearchForm.ClassRange.value=SpvReturnValue[1];
}
else
{
document.SearchForm.GroupName.value=SpvReturnValue[0];
document.SearchForm.DistributeTypeID.value=SpvReturnValue[1];
}
}
}
}<asp:Button Text="选择" runat="server" ID="Submit3"/>
<input name="Submit3" type="button" class="Button" onClick="ShowOpenWindow('SelectArea.aspx','Area')" value="选择" id="Button3">
后台代码:this.Label1.Text = Request.QueryString["TitleShow"].ToString();
flag = Request.QueryString["flag"].ToString();
这两句是page_load里面的 TitleShow,flag这两个变量是从left.aspx框架页面中传值过来的B.aspx代码:<table width="494" border="0" cellspacing="0" cellpadding="0">
<form id="ClassSelect" name="ClassSelect" method="post" action="" runat="server">
<tr><td height="24" align="center" class="Caption">选择区域</td>
</tr>
<tr>
<td height="218" valign="top">
<div style="height:218px;border:0px inset;overflow:auto;padding:1px;">
<asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="tv_SelectedNodeChanged">
</asp:TreeView>
</div>
</td>
</tr>
<tr>
<td height="24" class="tableButtom"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="1" colspan="3" align="right" bgcolor="#666666"></td>
</tr>
<tr>
<td width="16%" height="24" align="right">组名称:</td>
<td width="66%" align="left"><asp:TextBox ID="ClassName" runat="server" size="50"></asp:TextBox></td>
<td width="18%" align="left"><asp:Button ID="aa" runat="server" Text="确定" OnClick="aa_Click"></asp:Button>
<input id="Button1" type="button" value="button" onclick="aaaaa()"/>
</td>
</tr>
</table></td>
</tr>
</form>
</table>
后台代码:SqlConnection conn = sqldataserver.GetConnectionInfo();
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
conn.Open();
this.createDataSet();
conn.Close();
TreeView1.Nodes.Clear();
this.InitTree(TreeView1.Nodes, "0");
}
private DataSet createDataSet()//返回数据库表
{
ds = new DataSet();
string sqlStr = "select * from Class ";
SqlDataAdapter cmdSelect = new SqlDataAdapter(sqlStr, conn);
cmdSelect.Fill(ds, "Class");
return ds;
}
protected void InitTree(TreeNodeCollection Nds, string parentId)//用递归方法动态生成节点
{
DataView dv = new DataView();
TreeNode tmpNode;
dv.Table = ds.Tables["Class"];
dv.RowFilter = "UpID=" + "'" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNode = new TreeNode();
tmpNode.Value = drv["ClassID"].ToString();
tmpNode.Text = drv["ClassName"].ToString();
//tmpNode.NavigateUrl = "#";//设置超链接
//tmpNode.SelectAction = TreeNodeSelectAction.None;//禁用超链接属性
tmpNode.ExpandAll();//展开所有子节点
Nds.Add(tmpNode);
this.InitTree(tmpNode.ChildNodes, tmpNode.Value);
}
}
protected void tv_SelectedNodeChanged(object sender, EventArgs e)
{
ClassName.Text = TreeView1.SelectedNode.Text;
}
function ShowOpenWindow(Url,Flag)
{
vReturnValue = window.showModalDialog(Url,'11','dialogHeight:330px;dialogWidth:500px;center:1;resizable:0;status:0;scroll:1;help:0;');
if(typeof(vReturnValue)!="undefined")
{
SpvReturnValue=vReturnValue.split("$")
{
if(Flag=="Area")
{
//document.SearchForm.ClassName.value=SpvReturnValue[0];
document.getElementById.className.value=SpvReturnValue[0];
document.SearchForm.ClassRange.value=SpvReturnValue[1];
}
else
{
document.SearchForm.GroupName.value=SpvReturnValue[0];
document.SearchForm.DistributeTypeID.value=SpvReturnValue[1];
}
}
}
}<asp:Button Text="选择" runat="server" ID="Submit3"/>
<input name="Submit3" type="button" class="Button" onClick="ShowOpenWindow('SelectArea.aspx','Area')" value="选择" id="Button3">
后台代码:this.Label1.Text = Request.QueryString["TitleShow"].ToString();
flag = Request.QueryString["flag"].ToString();
这两句是page_load里面的 TitleShow,flag这两个变量是从left.aspx框架页面中传值过来的B.aspx代码:<table width="494" border="0" cellspacing="0" cellpadding="0">
<form id="ClassSelect" name="ClassSelect" method="post" action="" runat="server">
<tr><td height="24" align="center" class="Caption">选择区域</td>
</tr>
<tr>
<td height="218" valign="top">
<div style="height:218px;border:0px inset;overflow:auto;padding:1px;">
<asp:TreeView ID="TreeView1" runat="server" OnSelectedNodeChanged="tv_SelectedNodeChanged">
</asp:TreeView>
</div>
</td>
</tr>
<tr>
<td height="24" class="tableButtom"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="1" colspan="3" align="right" bgcolor="#666666"></td>
</tr>
<tr>
<td width="16%" height="24" align="right">组名称:</td>
<td width="66%" align="left"><asp:TextBox ID="ClassName" runat="server" size="50"></asp:TextBox></td>
<td width="18%" align="left"><asp:Button ID="aa" runat="server" Text="确定" OnClick="aa_Click"></asp:Button>
<input id="Button1" type="button" value="button" onclick="aaaaa()"/>
</td>
</tr>
</table></td>
</tr>
</form>
</table>
后台代码:SqlConnection conn = sqldataserver.GetConnectionInfo();
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
conn.Open();
this.createDataSet();
conn.Close();
TreeView1.Nodes.Clear();
this.InitTree(TreeView1.Nodes, "0");
}
private DataSet createDataSet()//返回数据库表
{
ds = new DataSet();
string sqlStr = "select * from Class ";
SqlDataAdapter cmdSelect = new SqlDataAdapter(sqlStr, conn);
cmdSelect.Fill(ds, "Class");
return ds;
}
protected void InitTree(TreeNodeCollection Nds, string parentId)//用递归方法动态生成节点
{
DataView dv = new DataView();
TreeNode tmpNode;
dv.Table = ds.Tables["Class"];
dv.RowFilter = "UpID=" + "'" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNode = new TreeNode();
tmpNode.Value = drv["ClassID"].ToString();
tmpNode.Text = drv["ClassName"].ToString();
//tmpNode.NavigateUrl = "#";//设置超链接
//tmpNode.SelectAction = TreeNodeSelectAction.None;//禁用超链接属性
tmpNode.ExpandAll();//展开所有子节点
Nds.Add(tmpNode);
this.InitTree(tmpNode.ChildNodes, tmpNode.Value);
}
}
protected void tv_SelectedNodeChanged(object sender, EventArgs e)
{
ClassName.Text = TreeView1.SelectedNode.Text;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货