2011-05-18 30 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