2010-11-26 88 views
0

在我的網頁中,我有LinkbuttonOnClientClick事件,如下所示。關於JavaScript中的'this'關鍵字

<asp:LinkButton ID="lnkbtn" Text="Click" runat="server" OnClientClick="dosomething(this.Text)" /> 

,我已經定義的函數如下圖所示在網頁「頁面

<script type="text/javascript"> 
    function dosomething(ObjCntxt) 
    { 
     alert(ObjCntxt.toLocaleString()); 
     var textval = ObjCntxt; 
     alert(textval.value);    
    } 
</script> 

的頭部,當我運行的頁面,並在LinkButton點擊我得到的消息undefined

我請求大家親切地解決我的問題。

感謝&問候。

+2

你有JavaScript和HTML的一個問題,但你向我們展示JavaScript和ASP。如果您將您的問題改爲「爲什麼ASP不生成此HTML?」,則回答起來會更容易(並且不需要知道許多域)。或者「爲什麼這個HTML與我所期望的這種JavaScript沒有交互?」 – Quentin 2010-11-26 10:17:04

+0

onClientClick屬性的值是多少? – jerjer 2010-11-26 10:21:05

回答

1

這個工作對我來說:

<script type="text/javascript" language="javascript"> 
    function doSomething(ObjCntxt) { 
     alert(ObjCntxt); // Text 
     alert(ObjCntxt.toLocaleString()); // Text 
     alert(ObjCntxt.toString()); // Text 

     alert(ObjCntxt.value); // undefiend 
    } 
</script> 

<asp:LinkButton ID="lnkbtn" Text="Click" runat="server" OnClientClick="doSomething(this.text);">Text</asp:LinkButton> 

記住,的doSomething內容的JavaScript,而不是.NET,所以你應該使用JavaScript的成員,如this.textthis.Text

你有什麼期望來自ObjCntxt.value ??聖誕禮物?

0

試試這個

 <script type="text/javascript" language="javascript"> 
    function doSomething(ObjValue) { 
     alert(ObjValue); // Text 
     } 
</script> 

    <asp:LinkButton ID="lnkbtn" Text="Click" runat="server" OnClientClick="doSomething(this.value);">Text</asp:LinkButton>