.Net Listbox 无法使用 javascript 事件处理程序进行编译?

发布于 2024-10-19 03:22:11 字数 1170 浏览 1 评论 0原文

这应该是最简单的事情,但它行不通。我有一个简单的 asp.net 列表框,对于事件 OnSelectedIndexChanged 我想启动一个 javascript 函数。这适用于当我设置链接来启动相同功能时,但不适用于此特定控件。代码行如下:

<tr><td>
    <asp:ListBox ID="ListBox1" runat="server" Width="250" 
    Height="600" OnSelectedIndexChanged="javascript:selectedIndexChanged()">
    </asp:ListBox>
</td></tr>

这是我收到的编译错误:

c:\..\ManufInfo.aspx(171,84):错误 CS1026:)预计
c:\..\ManufInfo.aspx(171,84): 错误 CS1002:;预期
c:\..\ManufInfo.aspx(171,84): 错误 CS1525:无效的表达式术语“:”
c:\..\ManufInfo.aspx(171,84): 错误 CS1026:)预计
c:\..\ManufInfo.aspx(171,84): 错误 CS1002:;预计
c:\..\ManufInfo.aspx(171,84): 错误 CS1525:无效的表达式术语“:”
c:\..\ManufInfo.aspx(171,85): 错误 CS1002:;预计
c:\..\ManufInfo.aspx(171,85): 错误 CS1002:;预计
c:\..\ManufInfo.aspx(171,107): 错误 CS1002:;预计
c:\..\ManufInfo.aspx(171,107): 错误 CS1525:无效的表达式术语“)”
c:\..\ManufInfo.aspx(171,107): 错误 CS1002:;预计
c:\..\ManufInfo.aspx(171,107): 错误 CS1525:无效的表达式术语 ')'

到底是怎么回事? ;)可能是一个n00b错误,但我认为我已经学会了jscript,足以理解它应该起作用......

感谢任何可以为我指明正确方向的人!

This should be the simplest thing ever but it will not work. I have a simple asp.net Listbox and for the event OnSelectedIndexChanged I want to launch a javascript function. This works for when i set links to launch the same function but not when set for this particular control. The line of code is as follows:

<tr><td>
    <asp:ListBox ID="ListBox1" runat="server" Width="250" 
    Height="600" OnSelectedIndexChanged="javascript:selectedIndexChanged()">
    </asp:ListBox>
</td></tr>

Here are the compilation errors i am getting:

c:\..\ManufInfo.aspx(171,84): error
CS1026: ) expected
c:\..\ManufInfo.aspx(171,84): error
CS1002: ; expected
c:\..\ManufInfo.aspx(171,84): error
CS1525: Invalid expression term ':'
c:\..\ManufInfo.aspx(171,84): error
CS1026: ) expected
c:\..\ManufInfo.aspx(171,84): error
CS1002: ; expected
c:\..\ManufInfo.aspx(171,84): error
CS1525: Invalid expression term ':'
c:\..\ManufInfo.aspx(171,85): error
CS1002: ; expected
c:\..\ManufInfo.aspx(171,85): error
CS1002: ; expected
c:\..\ManufInfo.aspx(171,107): error
CS1002: ; expected
c:\..\ManufInfo.aspx(171,107): error
CS1525: Invalid expression term ')'
c:\..\ManufInfo.aspx(171,107): error
CS1002: ; expected
c:\..\ManufInfo.aspx(171,107): error
CS1525: Invalid expression term ')'

What the heck is going? ;) Probably a n00b mistake but I thought I was picking up jscript enough to understand that should work...

Thanks to anyone who can point me in the right direction!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

思念满溢 2024-10-26 03:22:11

OnSelectedIndexChanged 不适用于 javascript 处理程序。在 page_load 上试试这个

ListBox1.Attributes.Add("onclick", "selectedIndexChanged()");

OnSelectedIndexChanged is not meant for javascript handlers. Try this on page_load

ListBox1.Attributes.Add("onclick", "selectedIndexChanged()");
巡山小妖精 2024-10-26 03:22:11

OnSelectedIndexChanged 属性中的值必须是代码隐藏(或代码旁)中与 EventHandler 委托签名相匹配的方法名称,该方法在回发时执行。

SOE 提供了向控件添加 javascript onclick 事件的正确方法。

The value that goes in the OnSelectedIndexChanged attribute must be the name of a method in the code-behind (or code-beside) that matches the signature of the EventHandler delegate, which is executed on post back.

SOE has provided the correct way to add a javascript onclick event to your control.

表情可笑 2024-10-26 03:22:11

OnSelectedIndexChanged 是服务器端的。不会触发 JavaScript,它会引用代码隐藏方法。

OnSelectedIndexChanged is server side. Will not trigger a javascript, it will refer to a codebehind method.

ゃ人海孤独症 2024-10-26 03:22:11

此属性是为 ASP.Net 事件设计的,而不是为客户端事件处理而设计的。

您可以在控件呈现后附加一个事件处理程序,如下所示:

document.getElementById('<%=ListBox1.ClientID %>').onChange = function (){
    // your selectedIndexChanged logic goes here
};

This attribute is designed for ASP.Net events, not for clientside event handling.

You can attach an eventhandler after the control is rendered like this:

document.getElementById('<%=ListBox1.ClientID %>').onChange = function (){
    // your selectedIndexChanged logic goes here
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文