treeview,這東西,正常情況下一般是不用的,不過我們的美工,沒弄個樹型的樣式出來,沒折,将就用一下treeview了
說重點:
環境搭建:一頁面,拖一下treeview控件上去,随便添加幾個項。
然後page_load事件裡輸出:
system.io.stringwriter sw = new system.io.stringwriter();
htmltextwriter write = new htmltextwriter(sw);
treeview1.rendercontrol(write);
if (sw != null)
{
response.write(sw.tostring());
}
public override void verifyrenderinginserverform(control control)
{
//不引發"控件必須放在具有 runat=server 的窗體标記内“驗證
}
public override bool enableeventvalidation
get
return false;//解決因rendercontrol引發的異常
然後檢視頁面源檔案,發現rendercontrol出來的html和自動生成的html是不一樣的,主要差別在于折疊的js事件中
關鍵點來了,為了回調更新treeview的内容,卻發現拿出來的rendercontrol的html的代碼是有問題的,幾經折騰,先繞過了rendercontrol,直接抓頁面源碼,再正則了。這時候,也有一個折騰人的地方,如果請求頭沒有user-agent,抓回來的也是和rendercontrol輸出的一樣。
目前是沒折的處理方法,抓頁面源碼再正則進行中。。。。
到于rendercontrol為啥輸出的和頁面直接加載的不一樣。。還有待研究。。。知道的說一聲