Привет,
Я хотел бы подготовить хорошую машину для вызова методов 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?