0

我正在用 dotnet 开发一个网站。

//function to close SearchSchool.aspx
function CloseSchoolSearch()    
{
    //storing values
    window.close();
    //call function in code behind
}

这是一个外部 .js 文件中的 javascript 函数,使用这个函数我在 aspx 页面的一些隐藏控件中存储一些值并关闭弹出窗口,之后我想在后面的代码中执行一个函数。并提醒一件事,我不能包含这个函数.aspx页面包含我想调用的那个方法。谁能指导我如何做到这一点

4

2 回答 2

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 ) {
  }
);

序列化函数也可以工作,只需添加其输出而不是 dataString。

于 2013-01-19T09:50:46.317 回答
0

我了解您想使用<script></script>从外部加载的.js文件调用 HTML 页面内定义的 javascript 函数。

只需确保在加载外部 JS 时内部 javascript 函数可用。

如果要调用localFoo()HTML 代码中定义的函数,请执行以下操作:

// Check for the function availability
if(typeof localFoo != undefined) {
    localFoo(arg);
}
于 2013-01-19T09:43:18.483 回答