2011-05-18 49 views
1

我是一名php开发人员(我也很熟悉c#),我的任务是将我们的一个页面从php转换为aspx。本网站由2页组成。一个是主html页面,另一个是具有创建我们菜单的javascript函数的php文件。JavaScript调用Aspx

从主网页,我可以说

<script type="text/javascript" src="menu.php"></script> 

,并在menu.php我有我的JavaScript/PHP的

<? 
//php function 
function doPHPstuff() { return "Hello World"; } 
?> 

//javascript 
function create_menu() 
{ 
    var base = ''; 
     document.write('<table cellpadding="0" cellspaceing="0" border="0" style="width:98%"><tr>' + 
//php code within the javascript 
alert('<?=doPHPsutff()?>'); 

} 

我已经改写了 “PHP的东西” 为ASPX代码(C# )但我现在确定如何调用它?有没有一种简单的方法来做到这一点,如在PHP中?

回答

1

如果我正确理解你的问题,你可以使用<%= %>而不是<?= ?>

+0

我试图创建一个aspx文件以同样的方式我做了正确的<% %>,但当我打电话给我的javascript函数create_menu没有任何反应的 – phpguy 2011-05-18 02:01:30

+1

你添加'='-sign? – Alxandr 2011-05-18 02:02:09

0

这取决于代码的作用和运行时间。请提供更多关于这方面的信息。但基本上是:

1 - 你可以叫__doPostBack检索值

2 - 您可以打印代码aspx页面,就像在PHP alert("<%= myCodeBehindMethod(); %>");(不是推荐的做法)

3-您可以设置它为Web服务,并与正常的Ajax请求调用

4或你可以用脚本管理器注册:

protected myMethod() 
{ 
    string myVariable = "hello"; 
    ScriptManager.RegisterStartUpScript(page,page.getType(),"name","alert("+ myVariable +");") 
} 

编辑:回复评论

你不能像aspx那样调用一个javascript文件。然而,你可以在aspx中调用一个函数,指向js中的一个函数。例如:

的script.js:

function myFun(param) 
{ 
    alert(param); 
} 

page.aspx.cs:

protected string myMethod() 
{ 
    return "Hello World!"; 
} 

page.aspx:

<script type="text/javascript" scr="script.js"></script> 
<script type="text/javascript"> 
    myFun(<%=myMethod() %>); //will alert Hello World! 
</script> 
+0

后面的代码是读取一个csv文件并将其内容输出到一个表中。当我使用引用主页 – phpguy 2011-05-18 02:00:35

+0

中的文件时,它似乎没有做任何事情? – phpguy 2011-05-18 02:04:18

+0

编辑我的答案 – Andre 2011-05-18 03:02:23