标签: scriptmanager

如何在自定义ASP.NET控件中使用ScriptManagerProxy?

基本上,我已经创建了一个使用UpdatePanel的自定义控件,据我所知,我需要使用ScriptManagerProxy使其工作(因为每页应该只有一个ScriptManager,并且在我的.aspx页面中声明).那么,你如何使用这个野兽,只需添加:

<asp:ScriptManagerProxy ID="ScriptManagerProxy3" runat="server">
</asp:ScriptManagerProxy>
Run Code Online (Sandbox Code Playgroud)

在你的控制下,还是有更多的东西?任何人都可以发布链接到一个很好的教程/示例集?我试着谷歌搜索,但我找不到任何有用的东西......

c# asp.net asp.net-ajax scriptmanager

3
推荐指数
1
解决办法
7453
查看次数

页面可以有多个ScriptManagers吗?如果是,则需要在什么条件下?

页面可以有多个ScriptManagers吗?如果是,则需要在什么条件下?

asp.net ajax scriptmanager

3
推荐指数
1
解决办法
2338
查看次数

如何在ScriptManager.RegisterStartupScript中使用外部js文件?

我有一个控件,在更新面板上.我希望每次更新updatePAnel时都运行我的javascript代码.

我使用这样的东西:

ScriptManager.RegisterStartupScript(this, GetType(), "my_script", "runFunction();", true);
Run Code Online (Sandbox Code Playgroud)

问题是我的js代码很大,我想将它放在js文件中并从文件中使用它.我的代码应该改变什么?

javascript c# scriptmanager

3
推荐指数
1
解决办法
2万
查看次数

ScriptManager.RegisterStartUpScript(...)无效

我已经使用了这个命令,因为我在ImageButton_ClickEvent 上启动了我的新项目,并且它在我正在使用的每个页面中都运行良好:我首先检查是否有一个字段为空,如果是,那么我发送它alert.

ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('No Empty fields are allowed.');", true);  
Run Code Online (Sandbox Code Playgroud)

我在这里做的是:我有2个textboxes我输入两个日期,这些日期用于填充我的reportviewer,但在它进入之前reportviewer,我检查它是否empty存在.

在这个页面中,它仅在我第一次按下按钮时起作用.我使用了断点,它正在通过OK我的条件IF,但它没有显示消息......为什么?
完整代码Button_Click Event:

 if (Txt_Dt_Final.Text == "" || Txt_Dt_Inicial.Text == "")
     {
        ScriptManager.RegisterStartupScript(this, typeof(Page), "alert", "alert('No Empty fields are allowed.');", true);
        Txt_Dt_Inicial.Focus();
        return;
     }
Run Code Online (Sandbox Code Playgroud)

更新
实际上,在我第一次按它之后,没有任何工作了......即使我输入有效的日期,它也不起作用......我现在测试它,只出现错误,如果错误是第一次按下按钮的时间.
例如:
如果我输入日期确定,那么我的报告查看器将返回我的报告结果...然后我点击带有空文本框的按钮,它将触发错误并显示消息.如果我再次按下它会工作正常!

现在,如果我第一次按下带有空字段的按钮,该按钮将不再起作用!如果我刷新页面它就会恢复工作......为什么?oO
我所有其他页面都很完美.

asp.net scriptmanager

3
推荐指数
1
解决办法
2万
查看次数

如何从 DNN 中的 .ascx Web 用户控件更新 ScriptManager?

我创建了一个需要在我的 .ascx 页面中使用的 Web 服务。我不能只是添加这个:

<asp:ScriptManager ID="OWUScripts" runat="server">
    <Services>
        <asp:ServiceReference Path="~/OWUDashboard.asmx" />
    </Services>
</asp:ScriptManager>
Run Code Online (Sandbox Code Playgroud)

因为那时我在页面上有多个 ScriptManager。所以我做了一些研究,发现我需要将它添加到 Page_Load 事件中...

Dim myScriptManager As ScriptManager = ScriptManager.GetCurrent(Me.Page)

Dim objServiceReference As ServiceReference = New ServiceReference()
objServiceReference.Path = "~/MyService.asmx"
myScriptManager .Services.Add(objServiceReference)
Run Code Online (Sandbox Code Playgroud)

但是我无法访问 Page_Load 事件,因为已经有一个预设(它是一个皮肤等等)所以我把代码扔在了 <script runat="server"></script>

然而,它给了我一个错误,说“Declaration Expected”......我拿出了几行,它似乎在说它找不到 Me.Page (或者它是空的)

关于我做错了什么的任何见解?

我可以<script runat="server">像我一样访问 Me.Page还是应该以不同的方式访问?

asp.net dotnetnuke web-services scriptmanager service-reference

2
推荐指数
1
解决办法
3871
查看次数

ScriptManager,Page,静态方法...如何在没有Page的情况下获取当前的ScriptManager?

我正在尝试扩展ScriptManager以简化处理具有多个资源文件的资源(例如,多个脚本文件以及css).我们的目标是,我将能够在单个添加ScriptReferenceScripts并将其加载与该基准名称的多个资源.

我坚持的是,ScriptManager当使用不包含Page参数的静态方法时,你的基本知道如何处理这些东西?例如:

ScriptManager.ScriptResourceMapping.AddDefinition("someName", new
   ScriptResourceDefinition { Path="/script/somescript.js"});
Run Code Online (Sandbox Code Playgroud)

这为(我猜)任何活动脚本管理器为您调用它时正在运行的页面添加了一个定义.但与旧式方法不同,就像RegisterClientScriptBlock没有传递标识页面的参数一样.但是这些东西必须存放在ScriptManager对象中,不是吗?那怎么知道呢?

我可以随时获得对活动的引用:

ScriptManager.GetCurrent(page);

但理想情况下,我会创建与微软完全相同的新方法.我无法弄清楚如何实现类似的东西

ScriptManager.ScriptResourceMapping.AddDefinition(string name,
    ScriptResourceDefinition definition,
    ResourceType type)
Run Code Online (Sandbox Code Playgroud)

这可以找出对象实例添加内容而无需添加Page参数.不知怎的,他们正在做...我怎么能?

c# asp.net scriptmanager

2
推荐指数
1
解决办法
4182
查看次数

如何动态地在页面<head> </ head>中添加脚本

我使用asp.net 4和c#.

我在Web From页面中有一个Web用户控件.当我包含Web用户控件时,我还希望以编程方式在最终生成的页面的标签中包含一些脚本.

知道怎么做吗?也许ScriptManager可以帮忙吗?

请给我一个代码示例我很擅长开发感谢您的时间!

html c# asp.net scriptmanager

2
推荐指数
1
解决办法
1万
查看次数

日期选择器不适用于更新面板

我的应用程序在asp.net 3.5中,我从日期选择器中选择日期,这是在更新面板内.选择日期并点击提交按钮页面后回复.回帖后,当我再次尝试选择日期时,我在那里看不到日期选择器.

// aspx页面上的代码

 <%@ Page Title="" Language="C#" MasterPageFile="~/Sample/MasterPage.master" AutoEventWireup="true" CodeFile="UpdateProblem.aspx.cs" Inherits="Sample_UpdateProblem" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<script type="text/javascript" src="jscolor/jscolor.js"></script>  // Script for date 
<asp:ScriptManager ID="ScriptManager1" runat="server" >
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="panel1" runat="server">
    <ContentTemplate>
        <asp:TextBox runat="server" ID="textbox" CssClass="color" />
        <asp:Button ID="Button1" runat="server" Text="Button" />
    </ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

提前致谢

c# asp.net scriptmanager

2
推荐指数
1
解决办法
4950
查看次数

“bootstrap”不是有效的脚本名称。名称必须以“.js”结尾

我正在学习 asp.net,因此我正在尝试从 MSDN 构建名为“Wingtip Toys”的项目。

该项目是在 VS 2013 上开发的,我有 VS 2012。当我尝试按照此处的指令添加 Bootstrap 时,我在浏览器中运行时收到错误。

“/”应用程序中的服务器错误。

“bootstrap”不是有效的脚本名称。该名称必须以“.js”结尾。

描述:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息。

异常详细信息:System.InvalidOperationException:“bootstrap”不是有效的脚本名称。该名称必须以“.js”结尾。

当我在母版页上添加时,.js它向我显示另一个错误:

程序集“System.Web.Extensions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”不包含名为“bootstrap.js”的 Web 资源。确保资源名称拼写正确。

我还将 CSS 文件添加到 Bundle.config 但结果仍然相同。我已经有可用的 NuGet 包,就像jQuery.js错误一样,但我还无法解决这个问题。

asp.net scriptmanager twitter-bootstrap

2
推荐指数
1
解决办法
5240
查看次数

使用 RegisterClientScriptBlock 在页面末尾注册脚本以避免 sys undefined 错误

当显示模式弹出窗口时,我需要以编程方式调用以下内容来设置某些内容。

Sys.Application.add_load(modalSetup);
Run Code Online (Sandbox Code Playgroud)

一些顺理成章的事情。

<script type='text/javascript'>
            Sys.Application.add_load(modalSetup);
            function modalSetup() {
                var modalPopup = $find("PopupBehaviorId");
                if (modalPopup != null) {
                    modalPopup.add_shown(SetFocusOnControl);
                }
            }

            function SetFocusOnControl() {
                alert('test');
            }
        </script>
Run Code Online (Sandbox Code Playgroud)

现在的问题是我script manager在主页上有一个。

如果我手动(不是以编程方式)将此脚本放在 的下面script manager in the master page,它将正常工作。

但是,当我使用任一方法以编程方式将其添加到模式弹出窗口(我需要)的用户控件中时ScriptManager.RegisterClientScriptBlock or Page.ClientScript.RegisterClientScriptBlock,它会引发著名的sys is undefined错误。

我知道这种情况正在发生,因为这个程序注入将其放入该行执行Head section之前。ScriptManager

我该如何解决这个问题。是否可以说将此脚本插入到页面末尾而不是顶部?

javascript asp.net webforms asp.net-ajax scriptmanager

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