Открытие диалогового окна jQuery при нажатии на частичное представление - PullRequest
1 голос
/ 08 декабря 2011

У меня есть страница с некоторым содержанием и 3 частичными представлениями, каждое из которых содержит таблицу HTML.Я хочу открыть диалоговое окно jQuery, когда я нажимаю на ячейку в одном из частичных представлений, которые будут накладываться на всю страницу (включая частичные).

Я не совсем уверен, как проверить мою главную страницу, если что-то щелкнуло в моем частичном представлении.

Я попытался создать диалог в частичном, но он не открывается, когдаЯ нажимаю на что-то.

Есть ли способ реализовать это?

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

<div id="PartialProvider">
    @Html.Action("DisplayProviderTable", "CaseInfo")
</div>

Этосодержимое, которое я хочу поместить в диалог, который находится на моем главном экране.

<div id="Providers">
   ...
</div>

Это код в моем частичном

<table>
     ....
   <tr>
       <td class="row" style="cursor:pointer;text-decoration:underline;" onclick="DisplayDialog(@Model.ID)">
        @Model.ID
    </td>
   </tr>
     ....
</table>

Таким образом, в основном, когда я нажимаю на эту ячейку вв своей таблице в частичном виде я хочу поместить провайдеров div в диалоговое окно на главном экране.

1 Ответ

1 голос
/ 09 декабря 2011

Обновление, чтобы отразить ответ:

brasewel: Если в моей таблице есть только одна ячейка, по которой нужно щелкнуть, будет ли работать что-то вроде $('#tablename').click(function () { ...}); на моем главном экране?

Я: Эта клетка должна быть помечена Id, class или чем-то в этом роде.на основании этого вы можете найти его с помощью css selector и прикрепить к нему событие или его родительский элемент, который может быть td, tr или table.

Вот кодовая синпета, котораямы использовали для отображения ошибок пользователю, это вспомогательный метод

@helper ShowErrorServerSide(List<string> inputError, string dialogMessage)
{
    var errors = inputError;

    if (errors != null && errors.Count() > 0)
    {
<div id="dialog" title="@dialogMessage" style="display: none;">
    @foreach (var error in errors)
    {
        <p>@error</p>
    }
</div>
<script type="text/javascript">

    $(document).ready(function () {
        $("#dialog").dialog({
            autoOpen: false,
            modal: true,
            draggable: false,
            closeOnEscape: true,
            closeText: 'hide',
            buttons: { "Ok": function () { $(this).dialog("close"); } }
        });
        $("#dialog").dialog("open");
    });        
</script>
    }
}
...