美麗的MIS小姐希望在asp.net的TreeView點選節點時,會自動選取子節點,但TreeView為了不讓畫面一直閃動,所以沒有支援Node裏CheckBox的AutoPostBack。 這種時候,身為閒人的鳥毅當然要幫事務繁忙的MIS小姐找solution,對岸的高手早利用JavaScript與asp.net的Attribute做出來,參考:asp.net TreeView 一些操作
簡單描述一下:在aspx加上
<script language="javascript" type="text/javascript">
function TreeNodeChecked() {
var ele = window.event.srcElement;
if(ele.type=='checkbox')
{
var childrenDivID = ele.id.replace('CheckBox','Nodes');
var div = document.getElementById(childrenDivID);
if(div==null)return;
var checkBoxs = div.getElementsByTagName('INPUT');
for(var i=0;i<checkBoxs.length;i++)
{
if(checkBoxs[i].type=='checkbox')
checkBoxs[i].checked=ele.checked;
}
}
}
}
</script>
在aspx.cs的Page_Load修改為protected void Page_Load(object sender, EventArgs e)
{
TreeView1.Attributes.Add("onclick", "TreeNodeChecked();");
}
留言