C# 使用JavaScript与对象交互

C# 使用JavaScript与对象交互,c#,javascript,asp.net,client-side,C#,Javascript,Asp.net,Client Side,我想与具有许多对象和方法的对象进行交互 class Question { Boolean IsVisible; } class Exam { public list<Question> questions; getShowenBs() { //piece of code } getHiddenBs()

我想与具有许多对象和方法的对象进行交互

    class Question
    {
       Boolean IsVisible;
    }    
    class Exam
        {
           public 

list<Question> questions;
       getShowenBs()
       {
             //piece of code
       }
       getHiddenBs()
       {
            //piece of code
       }


    }
课堂提问
{
布尔值是可见的;
}    
课堂考试
{
公开的
列出问题;
getShowenBs()
{
//一段代码
}
getHiddenBs()
{
//一段代码
}
}
从aspx页面,我只想在第一时间到服务器端获取包含所有问题的考试对象,然后回答特定问题,有些问题会出现,有些问题会消失,我不需要再去服务器端了。现在我想用Exam对象中的方法来显示和隐藏。我从朋友那里得知Sencha、Prototype和JSON可以做到这一点。这正确吗?是否也可以在Exam对象中调用方法而不去服务器端

所有的想法都是受欢迎的,你们可以修改任何东西,除了去服务器端两次


我希望它是清楚的,可以随意问我任何问题

您需要在服务器上将所有这些问题序列化为JSON。您无法在服务器和客户端之间传递逻辑,因此必须在客户端上用JavaScript实现逻辑。

只需使用ajax在服务器上调用
[WebMethod]

[WebMethod]
public static Dictionary<String, String> myWebMethod(string arg1, string arg2, ...) {

}
[WebMethod]
公共静态字典myWebMethod(字符串arg1、字符串arg2,…){
}

然后只需使用带有正确参数的
$.ajax
调用
“url/myaspx.aspx/myWebMethod”
。您可以在回调中处理返回的字典。

您能澄清一下您所说的
在检查对象中调用方法的意思吗,而不必转到服务器端
?您的
考试
类在服务器上实现。您可以公开web服务,以便从客户端调用其方法,但这仍然算作转到服务器端IMHO…@Frederic:我真的不知道如何!!!但是,如果您有任何建议,例如手动将服务器端集合“转换”为客户端阵列,我需要隐藏一些问题并显示其他问题,而不必转到服务器端。。在您的例子中,它是
List
而不是
enum
,但是逻辑是相同的。所以我应该在客户端实现方法,所以我将在server@thabet084嗯,有点。它更允许客户端调用C#方法。只需将它添加到您的一个类中,并从客户端调用它