2010-11-18 162 views
0

我不是一個PHP的傢伙,所以我不知道這裏做了什麼,任何人都可以幫助我將下面的代碼轉換成.net?將此代碼從php轉換爲.net

PHP Process Page: 

    <?php 
    $Name = $_GET["Name"]; 
    $Message = $_GET["Message"]; 

    echo $_GET["jsoncallback"] . "({"Name": "" . $Name . "", "Message": "" . $Message . ""})"; 
    ?> 
+2

它採用URL參數並以Json格式將其輸出到瀏覽器。從未使用.NET。 – krx 2010-11-18 16:38:57

+0

我不想使用PHP所以我應該怎麼做,我正在使用jQuery,.net所以上面的代碼應該看起來像.net那是什麼,我的意思是說。 – 2010-11-18 16:43:30

回答

4

它只是獲取到的查詢字符串的頁面都通過了NameMessage參數,然後從他們構建一個JSON字符串,並將其輸出。

在C#:

var name = Request.QueryString["Name"]; 
var message = Request.QueryString["Message"]; 
var json = Request.QueryString["jsoncallback"]; 
Response.Write(string.Format("{0}(\{\"Name\": {1}, \"Message\": {2} \})", 
      json, name, message)); 

VB.NET:

Dim name as String = Request.QueryString["Name"] 
Dim message as String = Request.QueryString["Message"] 
Dim json as String = Request.QueryString["jsoncallback"] 
Response.Write(string.Format("{0}(\{\"Name\": {1}, \"Message\": {2} \})", 
      json, name, message)) 
+0

不是「要麼」查詢字符串或表單帖子,只是查詢字符串。 GET是查詢字符串傳遞時使用的http請求方法。 (雖然技術上你可以有一個POST請求的查詢字符串)如果你想或者你會使用:'$ _REQUEST [「Name」]' – sholsinger 2010-11-18 16:41:08

+0

所以PHP代碼不是服務器端代碼? – 2010-11-18 16:42:37

+0

@sholsinger - 不是一個PHP的傢伙,所以猜測... – Oded 2010-11-18 16:42:46

3

string Name = Request["Name"].ToString();
string Message = Request["Message"].ToString();
string jsoncallback = Request["jsoncallback"].ToString();
Response.Write(jsoncallback + "({'Name': '" + Name + "', 'Message': '" + Message + "'})");

+0

我希望Chicagoland瞭解C#; P – sholsinger 2010-11-18 16:46:16

+1

這不會編譯 - 你不是逃避'''或者''''''''' – Oded 2010-11-18 16:47:11

+0

你是對的'''(我修正了:p [enter粗心大意的錯誤]),爲什麼需要轉義'{'或'}',我的應用程序只是用一個字符串構建而不會轉義它(我很快將它添加爲測試變量) – 2010-11-18 17:21:26

1

我不是一個.NET的傢伙,但我知道什麼那裏;)

* $ _GET *包含每個查詢參數,所以如果您通過

0123調用此腳本
http://example.com/script.php?Name=MyName&Message=Hello+World&jsoncallback=myCallback 

* $ _ GET [ '名'] *(然後$名稱)將包含 「MYNAME」,* $ _ GET [ 'Messafe'] *(然後$消息)將包含「你好世界「和* $ _ GET ['jsoncallback'] *」myCallback「。因此,在這一切的腳本將返回類似

myCallback({Name: MyName, Message: "Hello World"}) 

你可以看到三個值「myCallBack函數」,「MYNAME」和「Hello World」的在那裏。

0
string strName=string.Empty; 
string strMessage=string.Empty; 
string strCallBack=string.Empty; 

if(Request.QueryString["Name"]!=null) 
{   
    strName=Request.QueryString["Name"]; 
} 
if(Request.QueryString["Message"]!=null) 
{   
    strName=Request.QueryString["Message"]; 
} 
if(Request.QueryString["jsonCallback"]!=null) 
{   
    strCallBack=Request.QueryString["jsonCallback"]; 
} 

Response.Write(strCallBack+"({\"Name\":\""+strName+"\" ,\"Message\": "\"+strMessage+"\"})"; 
+0

在你的'Response.Write'中你沒有輸出正確的json字符串。 – Oded 2010-11-18 17:13:55

+0

@Oded:感謝您的注意。我懶得運行代碼,看看它的正確 – Shyju 2010-11-18 17:33:40

+0

仍然沒有好處。JSON需要''',而不是''''Message''中沒有空格。 – Oded 2010-11-18 17:35:40