استفاده از جاوا اسکریپت در client side رویداد گره onclick با (ASP.Net TreeView )
با سلام در این مقاله کوتاه، یک قطعه کد جاوا اسکریپت برای رویداد Client Side OnClick برای ASP.Net TreeView Node توصیف خواهیم کرد. بنابراین وقتی ما بر روی گره کنترل ASP.Net TreeView کلیک میکنیم، می توانیم برخی از پردازش های جانبی مشتری را انجام دهیم.
برای انجام این کار به طور پیش فرض گره TreeView هیچ رویدادی جانبی مشتری ندارد و بنابراین از جاوا اسکریپت برای ایجاد رویدادهای جانبی مشتری با استفاده از کد جاوا اسکریپت ارائه شده در زیر استفاده میکنیم .
نمای درختی
یک ASP.Net TreeView ساده در زیر داریم که در آن لیستی از میوه ها را نمایش می دهیم.
<form id="form1" runat="server">
<asp:TreeView ID="TreeView1" runat="server">
<SelectedNodeStyle ForeColor="Black" />
</asp:TreeView>
</form>
حالا با استفاده از کد ساده snippet با ASP.Net TreeView لیستی از میوه ها را پر می کنیم.
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TreeView1.Nodes.Add(new TreeNode("Mango", "Fruit1"));
TreeView1.Nodes.Add(new TreeNode("Apple", "Fruit2"));
TreeView1.Nodes.Add(new TreeNode("Pineapple", "Fruit3"));
TreeView1.Nodes.Add(new TreeNode("Orange", "Fruit4"));
TreeView1.Nodes.Add(new TreeNode("Grapes", "Fruit5"));
}
}
اسکریپت Client Side
<script type = "text/javascript">
function OnLoad() {
var links = document.getElementById("<%=TreeView1.ClientID %>").getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
links[i].setAttribute("href", "javascript:NodeClick(\"" + links[i].id + "\", \"" + links[i].getAttribute("href") + "\")");
}
}
window.onload = OnLoad;
function NodeClick(id, attribute) {
//Do Something
var nodeLink = document.getElementById(id);
alert(nodeLink.innerHTML + " clicked");
//Execute the server side event.
eval(attribute);
}
</script>
اسکریپت بسیار ساده است. در بارگذاری صفحه تمام لینک ها در گره های TreeView را بارگذاری می کنیم و سپس با جایگزین کردن ویژگی HREF خود با تابع سفارشی "NodeClick" که در آن می خواهیم پردازش client side را انجام دهیم.
سپس در تابع NodeClick پردازش client side انجام و سپس محتوای اصلی HREF را اجرا می کند که چیزی جز ارتباط doPostBack نیست که PostBack را به سرور می دهد.
عکسها
