asp mvc:在jquery对话框中显示对象详细信息

时间:2010-08-18 15:53:27

标签: jquery asp.net asp.net-mvc renderaction

假设我有一份晚餐清单。此列表将向用户显示位置,数据和其他一些相关信息。

由于有很多人参加,我想在每个晚餐上都有一个按钮,打开一个jquery对话框,显示将要参加的人。

到目前为止我所取得的成就:

在名单上的每一顿晚餐上,我都有以下标签

<label class="falselink" id="<%= Html.Encode(item.Id) %>">show attendence</label>

当有人点击标签时,我也有这个脚本打开对话框:

<script type="text/javascript">
$(function() {
    $('#dialog').dialog({
        autoOpen: false,
        title: 'Attendence',
        modal: true
    });


    $('.falselink').click(function() {
        $('#dialog').dialog('open');
        return false;
    });
});
</script>

我还有以下包含对话框的div

<div id="dialog" >
    <% Html.RenderAction("DinnerAttendence", new { id = 3 }); %>
</div>

如果我按照网址http://localhost/Dinner/DinnerAttendence/3运行, 事实上,如果我按下链接,它将显示与参加晚宴3的人的对话。

我唯一的问题是我如何将晚餐ID传递给RenderAction RouteValue?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我知道这个问题已经过时但无论如何我都会回答。

RenderAction似乎无法做到这一点。 如果你需要从javascript获得晚餐ID,那么你需要做一些脏事,比如在调用Url.Action方法时附加id:

     $.get('@(Url.Action("DinnerAttendence", "Dinners"))/' + dinnerId, 
function (data) { $("#dialog").append(data); });

如果有人知道更好的方式我会喜欢听到它。