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