这是我的代码:
<script language="jscript" type="text/javascript">
function dopostback() {
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox") {
__doPostBack("", "");
}
}
</script>
</head>
<body ><form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="float: left; height: 50px; width: 250px">
<asp:TreeView ID="TreeView1" runat="server" Font-Size="10pt" ForeColor="Black" ShowCheckBoxes="All">
</asp:TreeView> </div>
</div>
<div style="clear: both">
</div>
<!--这个层很有用,必须要,否则可能不兼容。-->
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>
</form>后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TreeView1.Attributes.Add("onclick", "dopostback()");
DropDownBind();
ShowTree();
}
}
private void ShowTree()
{
this.TreeView1.Nodes.Clear();
TreeNode tn = new TreeNode();
tn.Text = "西京医院";
tn.Value = "X-西京医院";
this.TreeView1.Nodes.Add(tn); TAreaData areadate = CTAreaFacade.GetAllArea();
foreach (DataRow dr in areadate.Tables[0].Rows)
{
TreeNode tnarea = new TreeNode(dr["AreaName"].ToString());
tnarea.Value = "A-" + dr["AreaGuid"].ToString().Trim();
tnarea.Expanded = false;
tnarea.ShowCheckBox = true;
tnarea.Checked = false;
tn.ChildNodes.Add(tnarea); TBuildData build = CTBuildFacade.GetAllByAreaguid(dr["AreaGuid"].ToString().Trim());
foreach (DataRow dr2 in build.Tables[0].Rows)
{
TreeNode tnbuild = new TreeNode(dr2["BuildName"].ToString());
tnbuild.Value = "B-" + dr2["BuildNo"].ToString().Trim();
tnbuild.Expanded = false;
tnbuild.ShowCheckBox = true;
tnbuild.Checked = false; tnarea.ChildNodes.Add(tnbuild);
TDoorData tdata = CTDoorFacade.GetAllByBuildNo(dr2["BuildNo"].ToString().Trim());
foreach (DataRow dr3 in tdata.Tables[0].Rows)
{
TreeNode tnDoor = new TreeNode(dr3["DoorName"].ToString());
tnDoor.Value = "D-" + dr3["DoorNo"].ToString().Trim();
tnDoor.Expanded = false;
tnDoor.ShowCheckBox = true;
tnDoor.Checked = false;
tnbuild.ChildNodes.Add(tnDoor);
}
}
}
}问题:
我选中树形控件的复选框 页面就会闪一下。 我要选中页面不刷新,我该怎么做
<script language="jscript" type="text/javascript">
function dopostback() {
var o = window.event.srcElement;
if (o.tagName == "INPUT" && o.type == "checkbox") {
__doPostBack("", "");
}
}
</script>
</head>
<body ><form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div style="float: left; height: 50px; width: 250px">
<asp:TreeView ID="TreeView1" runat="server" Font-Size="10pt" ForeColor="Black" ShowCheckBoxes="All">
</asp:TreeView> </div>
</div>
<div style="clear: both">
</div>
<!--这个层很有用,必须要,否则可能不兼容。-->
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>
</form>后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.TreeView1.Attributes.Add("onclick", "dopostback()");
DropDownBind();
ShowTree();
}
}
private void ShowTree()
{
this.TreeView1.Nodes.Clear();
TreeNode tn = new TreeNode();
tn.Text = "西京医院";
tn.Value = "X-西京医院";
this.TreeView1.Nodes.Add(tn); TAreaData areadate = CTAreaFacade.GetAllArea();
foreach (DataRow dr in areadate.Tables[0].Rows)
{
TreeNode tnarea = new TreeNode(dr["AreaName"].ToString());
tnarea.Value = "A-" + dr["AreaGuid"].ToString().Trim();
tnarea.Expanded = false;
tnarea.ShowCheckBox = true;
tnarea.Checked = false;
tn.ChildNodes.Add(tnarea); TBuildData build = CTBuildFacade.GetAllByAreaguid(dr["AreaGuid"].ToString().Trim());
foreach (DataRow dr2 in build.Tables[0].Rows)
{
TreeNode tnbuild = new TreeNode(dr2["BuildName"].ToString());
tnbuild.Value = "B-" + dr2["BuildNo"].ToString().Trim();
tnbuild.Expanded = false;
tnbuild.ShowCheckBox = true;
tnbuild.Checked = false; tnarea.ChildNodes.Add(tnbuild);
TDoorData tdata = CTDoorFacade.GetAllByBuildNo(dr2["BuildNo"].ToString().Trim());
foreach (DataRow dr3 in tdata.Tables[0].Rows)
{
TreeNode tnDoor = new TreeNode(dr3["DoorName"].ToString());
tnDoor.Value = "D-" + dr3["DoorNo"].ToString().Trim();
tnDoor.Expanded = false;
tnDoor.ShowCheckBox = true;
tnDoor.Checked = false;
tnbuild.ChildNodes.Add(tnDoor);
}
}
}
}问题:
我选中树形控件的复选框 页面就会闪一下。 我要选中页面不刷新,我该怎么做
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货