小编Ada*_*ood的帖子

asp.net usercontrol不会在updatepanel中触发javascript

我已经看到类似的问题和答案,但似乎没有解决问题.

我在更新面板中有一个用户控件.在我的用户控件里面我输出了javascript.

触发时javascript不会触发.如果我将javascript移动到usercontrol/updatepanels之外的父页面,则会触发它.这样做是没有意义的,因为我不能在没有重复代码的情况下在另一个页面上使用此usercontrol ...通过复制整个javascript(不同的站点)或在每个页面中添加对.js文件的引用在(同一地点).它的便携性更低

我只想用控件输出javascript(在更新面板内).

我提到了updatepanel的准确性.即使我将usercontrol放在updatepanels之外,它也不起作用.

保持简单(这对我不起作用):

用户控件:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="_location.ascx.cs" Inherits="_location" %>
<script type="text/javascript">
    function test() {
        alert('Hello World!');
    }
</script>

<a href="javascript:void(0);" onclick="javascript:test();">
    Find For Me
</a>
Run Code Online (Sandbox Code Playgroud)

家长:

<uc1:_location runat="server" ID="_location"  />
Run Code Online (Sandbox Code Playgroud)

在chrome中调试告诉我"Uncaught ReferenceError:test not defined"

如果我将javascript直接添加到onclick,如下所示,它可以工作:

onclick="alert('Hello World!');"
Run Code Online (Sandbox Code Playgroud)

如上所述,将函数移动到父页面也可以.

就像浏览器忽略用户控件的脚本输出一样.

有任何想法吗?

javascript asp.net user-controls

7
推荐指数
1
解决办法
9894
查看次数

scriptreference命名响应不再有效

使用:Visual Studio Express 2013 for Web编写.NET 4.5.1站点.

项目最初建立在默认的"创建新网站"模板上,因此有问题的部分由IDE添加到我的项目中,尚未编辑.

这是一个长达数周的项目,今天我开始收到与创建时添加的"罐装"项目有关的错误.到目前为止,它一直没有错误地工作.

错误消息是:

Server Error in '/' Application.  

'respond' is not a valid script name.  The name must end in '.js'.
Run Code Online (Sandbox Code Playgroud)

我调试了这个与我的site.master文件中的这一行直接相关:

<asp:ScriptReference Name="respond" />
Run Code Online (Sandbox Code Playgroud)

在此处查看评论此参考文献包含在我的主文件部分中:

这是IDE在创建时添加的更大的脚本引用组的一部分.

在故障排除中,我尝试添加.js; 将路径属性添加到实际文件中; 并完全评论了这条线.

添加扩展名和/或路径会导致不同的错误:

Server Error in '/' Application.

The assembly 'System.Web.Extensions, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=31bf3856ad364e35' does not contain a Web resource that
has the name 'respond.js'. Make sure that the resource name is spelled correctly.
Run Code Online (Sandbox Code Playgroud)

唯一成功的故障排除是评论它但这打破了另一个关键功能:访问我的链接现在需要.ASPX扩展现在我以前可以访问我的链接而不指定我的文件上的扩展名...这是项目的默认方式是通过ide创建的,所以有了这个修复,我的链接都没有编辑,没有编辑每个链接和扩展. 不理想.

我已经尝试使用程序包管理器进行更新,但没有任何成功.我还验证了我的脚本文件夹中存在的respond.js文件,以及bootstrap等其他文件.

我在这里搜索并搜索了相当长的一段时间,但有很多不相关的结果,包含脚本管理员的摘录,结果是无穷无尽的.

我不确定需要进行更正,或者是否需要其他文件.重建我的网站没有任何效果,我已经删除了每个帖子中的"临时"文件我说它可能适用于不同但相似的问题.

对此错误的纠正措施是什么?

c# asp.net scriptmanager

6
推荐指数
1
解决办法
6222
查看次数

标签 统计

asp.net ×2

c# ×1

javascript ×1

scriptmanager ×1

user-controls ×1