Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在部分回发updatepanel后执行javascript?_Javascript_Asp.net - Fatal编程技术网

在部分回发updatepanel后执行javascript?

在部分回发updatepanel后执行javascript?,javascript,asp.net,Javascript,Asp.net,我有一个页面,添加树文件脚本到它 <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/init.js"></script> <script type="text/javascript" src="js/easing.js"></script> 我有一个带有下拉列表的u

我有一个页面,添加树文件脚本到它

<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/init.js"></script>
<script type="text/javascript" src="js/easing.js"></script>


我有一个带有下拉列表的updatepanel。运行SelectedIndexChanged事件(updatepanel的部分回发)时,不要执行javascript。

使用
pageLoad
功能:

function pageLoad(sender, args) {
  InitialiseSettings();
}

function InitialiseSettings(){
    // replace your DOM Loaded settings here. 
    // If you already have document.ready event, 
    // just take the function part and replace here. 
    // Not with document.ready 
    $(element).slideUp(1000, method, callback});

    $(element).slideUp({
                   duration: 1000, 
                   easing: method, 
                   complete: callback});
}
或者,尝试使用
添加“结束请求”事件处理程序。添加\u endRequest()


编辑:

最好将代码从
document.ready
移动到
InitialiseSettings()
,然后将其注册为事件处理程序

代码示例

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(InitialiseSettings)

要在完整和部分回发中运行javascript,请将javascript代码放入javascript pageLoad()函数中

function pageLoad()
{
   //your javascript code
}
例如:

function pageLoad() {

    $(':submit').click(function () {
        CommodityArray();
    });
    $('#btn_image').click(function () {
       CommodityArray();
    });
    $(".repHeader").disableSelection();

    CommodityArray();
}

希望有帮助!:)

在更新面板之后,必须使用以下代码

<script type="text/javascript" language="javascript">
var pageRequestManager = Sys.WebForms.PageRequestManager.getInstance();
pageRequestManager.add_endRequest(NewCharacterCount);
</script>

var pageRequestManager=Sys.WebForms.pageRequestManager.getInstance();
pageRequestManager.add_endRequest(NewCharacterCount);
其中
NewCharacterCount
是javascript函数名

阅读这篇文章
希望它能对您有所帮助。

如果您正在使用UpdatePanel,并且希望在更新面板中的内容刷新后调用javascript函数,您可以使用下面的方法轻松完成。在页面
body
标记中,调用函数
RefreshContent()


函数RefreshContent()
{
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
}
函数EndRequestHandler()
{
警告(“在此处添加您的逻辑”);
}
参考链接 您可以使用。sender参数将包含您需要的信息。例如,可以这样做:

// Register event handler
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);

/// Executed when all page content is refreshed, full page or async postback: https://msdn.microsoft.com/en-us/library/bb397523.aspx
function pageLoaded(sender, args) {
    var isPostBack = sender.get_isInAsyncPostBack();
    if(!isPostBack) return;

    // PostBack logic here.
}

下面是您的操作方法:非常感谢,但是要感谢InitialieSettings中的初始化放松。谢谢,我应该使用以下内容:
$(document).ready(函数(){Sys.WebForms.PageRequestManager.getInstance()。add_endRequest(InitialieSettings)函数InitialieSettings(){//easing,其他初始化在这里进行})
@Niloo,不,不,请分享更多代码。页面中是否有document.ready块?你在哪里配置这些和所有。我添加我的功能与文件。准备好了,这是我的工作。。。非常感谢:)@Pierre,是的compatible@Aristos::您的意思是,这不适用于更新面板吗?你自己试过了吗???@Niloo::在pageLoad(){/}而不是$(document)中编写代码。准备好(函数(){/})在每次页面重新加载或回发时运行它。+1好的,它适用于net 4+@Avishek:谢谢,我有3个脚本文件。如何将其添加到pageLoad()中@Niloo:您不必在每次部分/完整回发后重新添加脚本文件。您只需在js文件中的pageLoad(){/}内调用每次回发/写入事件后需要运行的函数。我还将用一个示例编辑答案:)
// Register event handler
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded);

/// Executed when all page content is refreshed, full page or async postback: https://msdn.microsoft.com/en-us/library/bb397523.aspx
function pageLoaded(sender, args) {
    var isPostBack = sender.get_isInAsyncPostBack();
    if(!isPostBack) return;

    // PostBack logic here.
}