Помогите со структурой одностраничного Ajax-сайта

Я знаю о правилах, и это не тот вопрос, на который можно ответить, но мне действительно нужна помощь в этом.

Я делаю веб-сайт с музыкальным проигрывателем javascript, который нельзя прерывать каждый раз, когда пользователь переходит между страницами. Таким образом, сайт должен быть своего рода одной страницей, загружающей файлы ASPX с помощью AJAX.

Какую структуру я должен использовать для этого?

Если я использую мастер-страницу с проигрывателем и отдельными файлами aspx, смогу ли я загрузить эти файлы с помощью ajax?

Будем признательны за любую помощь со структурой или образцом ajax.


person Vitor Reis    schedule 10.03.2011    source источник
comment
Будут ли на этих страницах какие-либо функции? Или просто статические текстовые страницы? Если это так, вы можете сохранить страницы в базе данных, а затем загрузить контент на главную страницу?   -  person Tim B James    schedule 10.03.2011
comment
Можете ли вы иметь страницу с двумя iframe и выполнять всю навигацию в одном, оставив другой для запуска музыки?   -  person s_hewitt    schedule 10.03.2011
comment
Да... у страниц есть некоторая функциональность, и я бы предпочел не использовать фреймы, если это возможно.   -  person Vitor Reis    schedule 11.03.2011


Ответы (1)


Я бы посоветовал вам использовать для этого MVC Framework. Затем вы можете легко вызывать методы действия контроллера через вызовы AJAX на стороне клиента. Вот упрощенный пример:

// jQuery AJAX call.
function getContacts() {
    $.ajax({
        type: 'get',
        url: '/Contacts/GetContacts',
        dataType: 'json',
        success: function (response) {
            var contacts = response;
        },
        error: function (e) {
            alert('oops!');
        }
    });
}


// Server-side.
public class ContactsController : Controller
{
    [HttpGet]
    public JsonResult GetContacts()
    {
        JsonResult result = new JsonResult { JsonRequestBehavior = JsonRequestBehavior.AllowGet };
        List<Contacts> contacts = DataAccess.GetContacts();
        result.Data = contacts;

        return result;
    }
}
person Kon    schedule 10.03.2011
comment
И если MVC просто не вариант для вас, то рассмотрите возможность вызова PageMethods/WebMethods через AJAX — dotnetfunda.com/articles/ - person Kon; 10.03.2011