为什么ddl 'onchange'事件没有出现在intellisense中?
Why does ddl 'onchange' event not appear in intellisense?
我正在解决一个 ddl 的问题,它试图在项目更改时弹出一个消息框。你可以在这里阅读>>>
工作答案显示我使用 onchange
事件,但后来我在 VS2010 中工作,此事件未出现在智能感知下拉列表中。但是,如果我输入它,它仍然可以正常工作。
为此,您需要了解其工作原理....当您更改输入元素的值时,onchange
事件会在浏览器上触发,因此浏览器会寻找一种方法来处理它。因此,当您为元素指定的 onchange 事件被调用时。
现在,ASP.NET OnSelectedIndexChanged
使用与 POST 页面相同的功能(逻辑上说)到服务器。从那里,ASP.NET 运行时触发您在代码隐藏文件中编写的函数,并 returns 您得到结果。现在,如果您真的不需要任何只能在服务器上发生的操作,则不需要使用服务器功能,而是可以在 javascript.
中执行
另一方面,如果您想要在服务器上发生某些事情:比如一些数据库获取,您应该使用 OnSelectedIndexChanged
事件。
如果您使用 OnSelectedIndexChanged
事件,您仍然可以从那里调用一些 javascript 函数。
Page.ClientScript.RegisterClientScriptBlock(typeof(string),"myScript","alert('HI')",true);
为了回答你关于智能感知的问题,onchange
是一个 input
类型的事件,在 aspx 页面中,我猜你使用的是 <asp:..>
标签,它没有同一事件 - 因此 visual studio 不会在智能感知中显示它。但是当你放置它时,它会被分配给浏览器正确解释的 HTML 标记。
优缺点
onchange
在您的浏览器上运行,因此它比服务器端代码快很多。另一方面,一旦浏览器能够限制弹出窗口,我们就会遇到一个问题。所以如果你想显示一些非常重要的消息,最好使用服务器端事件和 RegisterClientScriptBlock
函数。
希望对您有所帮助。
我正在解决一个 ddl 的问题,它试图在项目更改时弹出一个消息框。你可以在这里阅读>>>
工作答案显示我使用 onchange
事件,但后来我在 VS2010 中工作,此事件未出现在智能感知下拉列表中。但是,如果我输入它,它仍然可以正常工作。
为此,您需要了解其工作原理....当您更改输入元素的值时,onchange
事件会在浏览器上触发,因此浏览器会寻找一种方法来处理它。因此,当您为元素指定的 onchange 事件被调用时。
现在,ASP.NET OnSelectedIndexChanged
使用与 POST 页面相同的功能(逻辑上说)到服务器。从那里,ASP.NET 运行时触发您在代码隐藏文件中编写的函数,并 returns 您得到结果。现在,如果您真的不需要任何只能在服务器上发生的操作,则不需要使用服务器功能,而是可以在 javascript.
另一方面,如果您想要在服务器上发生某些事情:比如一些数据库获取,您应该使用 OnSelectedIndexChanged
事件。
如果您使用 OnSelectedIndexChanged
事件,您仍然可以从那里调用一些 javascript 函数。
Page.ClientScript.RegisterClientScriptBlock(typeof(string),"myScript","alert('HI')",true);
为了回答你关于智能感知的问题,onchange
是一个 input
类型的事件,在 aspx 页面中,我猜你使用的是 <asp:..>
标签,它没有同一事件 - 因此 visual studio 不会在智能感知中显示它。但是当你放置它时,它会被分配给浏览器正确解释的 HTML 标记。
优缺点
onchange
在您的浏览器上运行,因此它比服务器端代码快很多。另一方面,一旦浏览器能够限制弹出窗口,我们就会遇到一个问题。所以如果你想显示一些非常重要的消息,最好使用服务器端事件和 RegisterClientScriptBlock
函数。
希望对您有所帮助。