2010-11-26 85 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>