2013-04-04 127 views
0

我希望你能帮我解决我的问题。我在ASP.NET代码中执行SQL查询,并使用bing的JavaScript API。问题是我需要在运行查询之前先做一个javascript函数。该功能以字符串格式提供基于地址的地理坐标。我已经知道RegisterStartupScriptRegisterClientScriptBlock,但这两个对我不起作用,因为JavaScript由于某种原因没有执行。这是代码。而且,我几乎忘了,脚本在页面的头部正确声明。有没有其他的方式来在C#ASP.Net中运行JavaScript?立即在ASP.NET代码中运行Javascript。

public void calculateCoordinates() 
    { 
     ClientScriptManager cs = Page.ClientScript; 
     Type cstype = this.GetType(); 
     String csName = "Calculate"; 
     if (!cs.IsStartupScriptRegistered(cstype, csName)) 
     { 
      String jsFunction = "calculateGeoCoordinates();"; 
      cs.RegisterStartupScript(cstype, csName, jsFunction, true); 
     } 
    } 

回答

0

JavaScript是客户端,你的代码是服务器端,所以在很短,不,你不能的ASP.NET服务器端代码中运行JavaScript。

但是,你可以做的是运行一些ASP.NET,输出必要的东西到你的页面,包括一个注册脚本块,它可以触发你所需要的JavaScript,然后将AJAX或者其他的异步调用回你的页面发射你的必要的查询。