Отображать частичное представление при нажатии на ссылку - PullRequest
0 голосов
/ 13 мая 2011

Я довольно новичок в JQuery и MVC 2, что делает это немного сложнее, я всегда раньше использовал WebForms.
Я использую NerdDinner в качестве настройки (я переключил Ужин для Персона , хотя).
То, что я хочу сделать, довольно просто. В таблице я хочу небольшой модальный дисплей с деталями, когда в таблице нажимается ссылка «детали».
Прямо сейчас, когда я нажимаю на ссылку, я открываю "Details.ascx" в новом окне, она не добавляется к деталям. Div

Страница поиска (Просмотр)

Ссылка в таблице: (foreach (var item в Model))

<%= Ajax.ActionLink("Details", "Details", new { id = item.id}, new AjaxOptions() { UpdateTargetId = "details" })%>  

JavaScript:

<script type="text/javascript">
    $('tr').click(function() {
        $("#details").load("Persons/Details/1")
    });
</script>

div, чтобы содержать детали:

<div id="details" class="detailView">details here</div>

Частичное представление:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Person>" %>
<%@ Import namespace="RegistryTest.Models" %>
<div id="detailsModal">
    <%= Html.Encode(Model.surname) %>
</div>

Контроллеры

public PartialViewResult Details(int id)
    {
        Person person = repository.GetPerson(id);

        return PartialView("Details", person);
    }

Дайте мне знать, если вам нужна дополнительная информация о настройке.

Ответы [ 2 ]

1 голос
/ 13 мая 2011

Игнорируйте помощников Ajax, они для сценариев ASP.NET AJAX.

Измените вашу ссылку на:

<%= Html.ActionLink("Details", "Details", new { id = item.id})%> 

И ваш JQuery:

    $('tr').click(function() {
        var url = jQuery(this).find('a').attr('href');
        $("#details").load(url)
    });
0 голосов
/ 13 мая 2011

page1.asp

<div class="holder">
    <div>1</div>
    <div class="test">2</div>
</div>
$ ('. Holder'). Load ('page1.asp .test'); // возвращает = >> 2 // .test захватывает любойэлемент, который имеет .test и помещает его в держатель

, чтобы страница выглядела следующим образом ...

<div class="holder">
    <div class="test">2</div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...