ASP.NET MVC JQuery - гибкий алгоритм вызова методов asp.net mvc - PullRequest
0 голосов
/ 23 декабря 2009

Привет, Я хотел бы подготовить хорошую машину для вызова методов asp.net mvc из jquery. Концепция заключается в следующем:

Идея состоит в том, чтобы иметь один метод, который будут вызывать каждый запрос. Используя шаблон посетителя, я смогу определить, какую операцию мне следует делать.

public interface IRequestVisitor
{
    void VisitRequest_GetPersons(CRequest_GetPersons request);
    void VisitRequest_RemovePerson(CRequest_RemovePerson request);
}

Создание абстрактного запроса:

public abstract class CRequest
{
    public abstract void AcceptVisitor(IRequestVisitor visitor);
}

и выполнение конкретного запроса:

public class CRequest_GetPersons: CRequest
{
    public CRequest_GetPersons(Guid schoolROWGUID)
    {
        SchoolROWGUID = schoolROWGUID;
    }
    public Guid SchoolROWGUID={get;private set;}

    public override void AcceptVisitor(IRequestVisitor visitor)
    {
        visitor.VisitRequest_GetPersons(this);
    }
}

И реализация посетителя:

public void CRequestVisitor : IRequestVisitor
{
    public CResponse ResponseResult {get;private set;}

    public void IRequestVisitor.VisitRequest_GetPersons(CRequest_GetPersons request)
    {
        //code responsible for getting persons
        Result = new CResponse_GetPersons_Success(List<Person>)
    }
    public void VisitRequest_RemovePerson(CRequest_RemovePerson request)
    {
        //code responsible for removing person
        Result = new CResponse_RemovePerson_Success();
    }
}

Действие, которое выполняет каждый метод js, выглядит следующим образом:

public ActionResult AjaxRequest(CRequest request)
{
    CRequestVisitor visitor = new CRequestVisitor();
    request.AcceptVisitor(visitor);
    return JSON(visitor.Result);//return some result

}

Я также обнаружил, как методы asp.net mvc можно вызывать с помощью jquery

<script type="text/javascript"> 
   $(document).ready(function() {         
     $("#GetPerson").click(function() {         
         $.getJSON("/Test/Request",
        function(data){
            //what should be here to display all persons ?
        //how can i pass guid of school?
          });
        });

        }); 
    });    

</script> 

Я хотел бы знать, как я могу сдать вступительный экзамен в выбранной в данный момент школе. И как я могу получить доступ к списку лиц, возвращаемых как объект JSON?

1 Ответ

0 голосов
/ 23 декабря 2009

Вы можете передать параметры, которые будут переданы параметрам метода действия, добавив его в URL:

/ Тест / Запрос? Школа = 1

Замените 1 направляющей, и направляющая будет возвращена обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...