PALMisLIFE 討論區

標題: 請問 Javascript 如何在呼叫 asp.net 程式時傳入變數值 [列印本頁]

作者: GeorgeS    時間: 2011-6-6 20:58
標題: 請問 Javascript 如何在呼叫 asp.net 程式時傳入變數值
各位先進您好, 經我實驗結果, javascript 可以呼叫 asp.net 的程式, 但無法將參數傳入,
若有先進願給予指導, 不甚感激.

javascript 中

var strX = "<%=myFunction("abc")%>";


Asp.net 中
public String myFunction(String intPut)
{
    return intPut;
}

是 ok 的, 但如果將 javascript 改成
var intX = 10;
var strX = "<%=myFunction("intX")%>";
這樣會變成傳入 intX, 我想傳 10 進去,
請問應該怎麼做?

(註 : 若用 "<%=myFunction(intX)%>"; 會直接說錯誤 )

作者: infax    時間: 2011-6-7 02:34
請先看過html form action 與get/post 的教學
還有互動式網頁設計的相關資料
google一下應該滿多的
簡單的說,就是先弄清楚html、javascript 、asp.net是幹麼用的,還有其關係是怎樣
您最上頭的程式碼是一定可以跑
但不是javascript去呼叫asp.net的程式
而是asp.net 先產生值出來,放在那邊給javascript使用

作者: GeorgeS    時間: 2011-6-7 03:26
感謝, 不過今天就得交了, 所以不行的話就只能用笨方法做, 在 javascript 判斷 x 座標, 然後 x=1, 呼叫 var strX = "<%=myFunction(1)%>", x=2,   呼叫 var strX = "<%=myFunction(2)%>" 然後寫 1024 行, 暫時能搞定
作者: GeorgeS    時間: 2011-6-7 05:20
感謝 infax, 我用你說的辦法, 把所有的值全都串成字串由 myFunction 傳回 strX, 再由 javascript 根據 mouse X 軸去切 strX 字串, 再將值寫在要顯示的地方, 這樣已經順利完成所要的功能. 再次感謝
作者: infax    時間: 2011-6-7 14:00
本文章最後由 infax 於 2011-6-7 14:12 編輯

一般來說要與後端function呼叫都會使用get/post方法取值
可以透過form action來傳送資料
或是使用ajax的技術
如果要使用ajax的技術的話,現在簡單易用的api也不少,
像是可以參考jQuery 來達到,連你要抓滑鼠座標也有相關的方法

如果以jQuery做呼叫的話,javascript中只需要抓到mouse event後去做底下傳值就可以得到asp.net回傳資料

  1. $.get('test.aspx?intX='+mouseX, function(data) {
  2.   alert('傳回的字串:'+data);
  3. });
複製代碼
test.aspx接收get的參數為intX,mouseX是滑鼠座標

asp.net部分大概的程式碼....我有點忘記寫法,底下是憑印象寫的
  1. Str x = context.Request("intX");
  2. Response.Write(x);
複製代碼





作者: niceboy1001    時間: 2015-8-25 23:38
這是mvc2吧?! 建議是用ajax在前端來取得後端的值比較好,
相關資訊可以多看ajax的資料




歡迎光臨 PALMisLIFE 討論區 (http://palmislife.com/) Powered by Discuz! X2.5