TREENODE获取不到选中节点的值
前台代码:
<form id="Form1" method="post" runat="server">
<TABLE id="EditFatherTable" cellSpacing="0" cellPadding="0" border="0" style="WIDTH: 100%;HEIGHT: 100%;">
<TR>
<TD id="EditCaptionTD">请选择接收单位</TD>
</TR>
<TR>
<TD vAlign="top" align="left" style="HEIGHT: 500px">
<div class="div" style="WIDTH: 100%; HEIGHT: 100.28%">
<asp:TreeView ID="userTreeView" runat="server" Width="490px" >
</asp:TreeView></div>
</TD>
</TR>
<TR>
<TD>
<TABLE id="EditFunctionTable" cellSpacing="0" cellPadding="0" border="0">
<TR>
<TD align="center">
<asp:linkbutton id="lnkSave" runat="server" onclick="lnkSave_Click"
>返回</asp:linkbutton></TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
</form>
后台代码
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if (!IsPostBack)
{
LoadTree();
}
}
private void LoadTree()
{
string SqlStr = "select * from T_Department";
DataTable dt = data.getDataTable(SqlStr);
System.Web.UI.WebControls.TreeNode root = new System.Web.UI.WebControls.TreeNode();
userTreeView.Nodes.Clear();
root.Value = "接收部门设置";
foreach (DataRow dr in dt.Select("father_code = '1'"))
{
System.Web.UI.WebControls.TreeNode oneList = new System.Web.UI.WebControls.TreeNode();
oneList.Text = dr["DE_name"].ToString();
oneList.Value = dr["pid"].ToString();
string imageUrl = "image/item.gif";
oneList.ImageUrl = imageUrl;
oneList.ShowCheckBox = true;
addChildNode(oneList, dt);
root.ChildNodes.Add(oneList);
}
userTreeView.Nodes.Add(root);
}
private void addChildNode(System.Web.UI.WebControls.TreeNode parentNode, DataTable dt)
{
foreach (DataRow dr in dt.Select("father_code =" + parentNode.Value))
{
System.Web.UI.WebControls.TreeNode tn = new System.Web.UI.WebControls.TreeNode();
tn.Value = dr["pid"].ToString();
tn.Text = dr["DE_name"].ToString();
string imageUrl = "image/item.gif";
tn.ImageUrl = imageUrl;
tn.ShowCheckBox = true;
parentNode.ChildNodes.Add(tn);
addChildNode(tn, dt);
}
}
protected void lnkSave_Click(object sender, EventArgs e)
{
if (userTreeView.CheckedNodes != null)
{
int pid =Convert.ToInt32(userTreeView.SelectedNode.Value.ToString());
}
Page.RegisterStartupScript("close", "<script>window.opener=null;window.close()</script>");
}
问题:
1、跟踪断点 int pid =Convert.ToInt32(userTreeView.SelectedNode.Value.ToString());报错,未将对象的引用设置到对象的实例
2、father_code = '1',页面上只显示二级的内容,没有顶层,不晓的是不是和这个有关?
3、这个页面获取值后我要传到前一个页面TextBox框里,这个页面如何写?前一个页面如何接收
高手帮下忙