单击部分视图时打开jQuery对话框

时间:2011-12-08 19:53:30

标签: jquery asp.net-mvc-3 partial-views

我有一个页面,其中包含一些内容和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 个答案:

答案 0 :(得分:1)

更新以反映答案:

brasewel :如果我的桌子只有一个需要点击的单元格,$('#tablename').click(function () { ...});之类的内容会在我的主视图中有效吗?

我:该单元格必须标有Idclass或类似内容。 基于此,您可以通过css selector找到它并将事件附加到它或它的父元素,可以是tdtrtable

这是我们用来向用户显示错误的代码sinppet,它是一个辅助方法

@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>
    }
}