我只是在使用Javascript来研究ASP.NET中的更多客户端方面的内容,有些事情令我感到困扰,希望有人能解释一下。为什么intellisense无法显示.NET控件的所有属性/属性?例如,RadioButtonListControl中的ListItem:
<asp:ListItem Value="1" Text="Yes" onclick="alert('TEST1');" />
<asp:ListItem Value="0" Text="No" onclick="alert('TEST2');" />
Intellisense不会显示ListItem的onclick属性(或称为attribute?),但可以正常工作。为什么不显示?还是我对Intellisense的依赖过多? :-)还是应该在后台代码中声明这些东西?
最佳答案
问题在于,用于Web服务器控件的intellisense不显示客户端事件,而仅列出服务器上引发的事件。如果出于相同目的使用HTML服务器控件,则会在Intellisense中看到(客户端JS)事件。
要考虑的另一个问题是选项元素不支持onclick事件(尽管Firefox支持它,但IE中至少不支持)。您应该改为处理onchange
客户端事件。一个例子 :
<select id="htmlserverselect" runat="server" onchange="alert(this.value);">
<option value="1">Yes</option>
<option value="2">No</option>
</select>
关于ASP.NET Intellisense与客户端属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/789233/