在c#中的SelectedNodeChanged事件处理程序中调用javascript

时间:2014-07-01 04:46:47

标签: c# javascript asp.net treeview

我的treenode中填充了数据库中的数据。树视图代码如下:

<asp:TreeView ID="mytv" runat="server" ImageSet="Arrows" 
        ondatabinding="Page_Load" onselectednodechanged="mytv_SelectedNodeChanged">

这个代码隐藏如下:

protected void mytv_SelectedNodeChanged(object sender, EventArgs e)
{
  // how to call java-script function from here.
}

我想要实现的是根据使用JavaScript点击的树节点显示div的内容。

或者是否有其他方法可以在单击树视图节点时显示数据库或div中的内容。

2 个答案:

答案 0 :(得分:2)

在方法中使用此方法:

ScriptManager.RegisterStartupScript(this, this.GetType(), 
                                    "anyName", "alert('test');", true);

答案 1 :(得分:2)

我只是重读了你的帖子,如果你只是想从树视图中获取所选的值,你可以在JS中使用更像这样的东西

function CheckTreeValue()
{
    var treeView = document.getElementById('treeviewID');
    if(treeView.selectedNodeID.value != null)
    {
        var selectedNode = document.getElementById(treeView.selectedNodeID.value);
        //Get Whatever you need from the node
        var text = selectedNode.text;
        WebService.PullValue(text, callback);
    } 
    else // No Node Selected
        return;
}

您可以通过滥用

手动创建脚本
<asp:Literal>

但最好使用ScriptManager

ScriptManager.RegisterStartupScript(
    this,
    this.GetType(), 
    "UniqueScriptKey", 
    "FunctionYouWantToCall();
     alert(document.getElementById('OrAnyJavascript').innerHTML);", 
    true);