gpt4 book ai didi

c# - 返回对象和响应返回的区别?

转载 作者:行者123 更新时间:2023-11-30 17:37:33 24 4
gpt4 key购买 nike

假设我有两个操作方法 action1action2:

操作 1:

    public JavaScriptSerializer action1() 
{
var student = new Student() { First = "john", Last = "doe" };
JavaScriptSerializer jsonStudent = new JavaScriptSerializer();
jsonStudent.Serialize(student);

return jsonStudent;

}

Action 2:

   public void action2()
{
var student = new Student() { First = "john", Last = "doe" };
JavaScriptSerializer jsonStudent = new JavaScriptSerializer();
jsonStudent.Serialize(student);

Response.Write(jsonStudent);
}

假设我的 View 有一个像这样的 Ajax 调用:

 <script>
$(function () {

$.ajax({
url: 'AjaxCallsTest/action1',
dataType: 'json',
success: function (response) {
//code here
},
error: function (response, status, xhr) {
//code here
}


})
})
</script>

在这两种情况下,一个被写入Response 对象,另一个有一个return 语句。我的问题是,即使有 return,它是否真的将 jsonStudent 对象添加到 Response 对象中,如果使用 编写操作方法return 语句没有意义?

谢谢。

最佳答案

Response.Write() 实际上是向客户端(aspx 文档)写入一些内容。它的工作方式类似于 PHP 的 echo - 它只是打印响应。

另一方面,

return 只是向调用函数返回一个值。所以,如果你想打印它(比如 action2()),你就必须打印结果。

基本上,下面是您将如何使用这些函数中的每一个来打印 JavaScriptSerializer:

Action 1

JavaScriptSerializer a = action1();
Response.Write(a);

Action 2

action2();

所以,你的问题的答案是,如果你以后不需要在代码中使用 JavaScriptSerializer 对象,那么 return 是不必要的。但是,如果您以后要使用该对象,最好将其归还并存储。

关于c# - 返回对象和响应返回的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37895151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com