久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

javascript獲取TreeView控件選中節(jié)點的Text和Value

 空城66 2014-10-21

在實際項目中,,遇到一個問題,首先彈出一個新窗口,,新窗口中放了一個TreeView控件,,TreeView控件的數(shù)據綁定在我的上一篇隨筆(TreeView綁定XML數(shù)據源C#代碼示例)中有講到,現(xiàn)在要解決的是,,如何單擊TreeView中一個節(jié)點,,返回Text和Value到父頁面并關閉該新窗口。

首先,,在后臺代碼中為TreeView添加屬性onclick以支持TreeView的客戶端事件,,代碼如下:

if (!IsPostBack)
{
      TreeView1.Attributes.Add("onclick", "ReturnValue()");//ReturnValue為javascript函數(shù)
      BindTreeView();
}

那現(xiàn)在就要解決如何通過js獲得TreeView中被選中的那個節(jié)點,腳本如下:

function ReturnValue() {
      var objNode = event.srcElement;
      var unitid = event.srcElement.href;
      if (objNode.tagName != "SPAN") {
            return;
      }
      window.opener.document.getElementById("txtUnit").value = objNode.getAttribute("innerHtml");
      window.opener.document.getElementById("txtUnitID").value = unitid;
      window.close();
}

其實這里用了點小花招,,因為我實在不知道在哪個屬性里能獲得綁定給TreeView的ValueField的值,,所以,Value值我一并綁給了NavigateUrl,,也就是寫黃色部分代碼的原因,,Html代碼如下:

<asp:TreeView ID="TreeView1" runat="server" ExpandDepth="1">
      <DataBindings>
            <asp:TreeNodeBinding TextField="NAME" ValueField="Value" NavigateUrlField="Value" SelectAction="None" />
      </DataBindings>
</asp:TreeView>

紅色部分代碼是用來獲取TreeView上顯示文字的,因為如果你去查看源文件的話,,你會發(fā)現(xiàn),,TreeView的Text屬性值被放在了SPAN中。

綠色部分代碼是用來回填父頁面的,,但是要注意的是,,"txtUnit"必須是客戶端控件,因為如果是服務器端控件,,彈窗在編譯時會報不存在該控件,。

這樣,我需要的功能就實現(xiàn)了,!另外,,有人可能會說,父頁面中用來裝載回填值的是客戶端控件,,那如果要在服務器事件中使用怎么辦,?也很簡單,,C#代碼如下:

Request.Form["txtUnit"].ToString();

但是要注意了,,這里的"txtUnit"可不是控件ID,而是name屬性了,!

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多