我正在开发一个dotnet网站。
//function to close SearchSchool.aspx
function CloseSchoolSearch()
{
//storing values
window.close();
//call function in code behind
}
这是一个外部.js文件中的javascript函数,使用此函数我将一些值存储在aspx页面的一些隐藏控件中并关闭弹出窗口,之后我想在代码后面执行一个函数。并提醒一件事,我不能包括这个函数.aspx页面控制我想要调用的方法。任何人都可以指导我如何做到这一点
答案 0 :(得分:1)
我理解这个问题,你说的是两件非常不同的事情。 .ASPX页面在服务器上呈现,javascript代码在客户端呈现。
您可以从JS的aspx页面调用函数,这意味着您需要调用服务器以使用您在调用中提到的参数呈现页面的其他方式。
只有这样服务器才会重新呈现页面(也可以是ajax)并调用这些方法。
除此之外,服务器端代码没有被发送到客户端。
在客户端:
您可以使用任何框架或实现自己的框架。我将使用jquery来简化
/* attach a submit handler to the form */ $("#form_name").submit(function(event) { /* stop form from submitting normally */ event.preventDefault();
/* get some values from elements on the page: */
url ="<server url>";
var $inputs = $('#form_name :input');
var dataString="";
$inputs.each(function() {
if (this.type != "submit" && this.type != "button")
dataString += (this.name +"="+ $(this).val() +"&").trim();
});
/*Remove the & at the end of the string*/
dataString = dataString.slice(0, -1);
/* Send the data using post and put the results in a div */
$.post( url, dataString,
function( data ) {
}
);
serialize函数也可以正常工作,只需添加输出而不是dataString。
答案 1 :(得分:0)
我知道你想从外部加载的<script></script>
文件中使用.js
调用HTML页面中定义的javascript函数。
只需确保在加载外部JS时内部javascript函数可用。
如果要调用HTML代码中定义的函数localFoo()
,请执行以下操作:
// Check for the function availability
if(typeof localFoo != undefined) {
localFoo(arg);
}