javascript - 使用 jQuery onclick 将数据传递到部分 View

标签 javascript jquery asp.net-mvc jquery-ui

我有一个名为 Index 的 View ,其中有一个链接列表,每个链接都有一个 ID。当单击其中一个链接时,我希望打开一个 jQueryUI 对话框并显示该 ID。 (该对话框最终将包含一个 HTML 表单,但为了简单起见,我们先从打印链接 ID 开始。)

到目前为止,我已经尝试使对话框的内容成为部分 View (因为最终它会很复杂)。我的索引 View 如下所示:

// Index
<script>
    $(function() {
        $('#dialog-wrapper').dialog({
            width: 380,
            height: 270,
            modal: true
        });

        $('.action-link').click(function() {
            $('#dialog-wrapper').dialog("open");
        });
    })
</script>

<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Link.Name)
        </th>
        <th></th>
    </tr>

    @foreach (UserLink userLink in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => userLink.Link.Name)
            </td>
            <td>
                <a href="#" class="action-link">click here</a>
            </td>
        </tr>
    }
</table>
<div id="dialog-wrapper">
    @Html.Partial("_Dialog")
</div>

那么问题来了,如何将点击链接的ID传递给局部 View 呢?我知道我可以向 @Html.Partial 调用添加另一个参数,但如何传递与单击的链接相对应的 ID?

最佳答案

您可能会考虑诸如

// Index
<script>
    $(function() {
        $('#dialog-wrapper').dialog({
            width: 380,
            height: 270,
            modal: true
        });

        $('.action-link').click(function(e) {
            e.preventDefault(); //stop the hyperlink from trying to navigate
            var theId = $(this).attr("data-linkid");
            $('#dialog-wrapper').dialog("open", theId);
        });
    })
</script>

<table>
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.Link.Name)
        </th>
        <th></th>
    </tr>

    @foreach (UserLink userLink in Model)
    {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => userLink.Link.Name)
            </td>
            <td>
                <a href="#" class="action-link" data-linkid="@Html.Raw(userLink.Link.Id)">click here</a>
            </td>
        </tr>
    }

这可以将您的“id”写入超链接上的伪属性,然后可以在操作链接单击方法中使用 jQuery 将其作为属性进行访问。

关于javascript - 使用 jQuery onclick 将数据传递到部分 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23508812/

相关文章:

javascript - 在滚动条上擦洗视频(apple.com esque)——严重口吃

javascript - Json数据不显示在html服务器上

jquery 选项卡加载事件

javascript - 使用 JSON JavaScriptSerializer 进行序列化或反序列化期间的 ASP.NET MVC 错误。超过 maxJsonLength 属性上设置的值

asp.net-mvc - 使用 if 子句时 Razor 不会呈现

javascript - 使用切片();实现算术运算的方法

javascript - D3 十年时间刻度刻度,数据格式为年

jquery - 使用Bootstrap和jQuery,如何让容器类在侧边栏激活时更改为较小的尺寸?

jQuery ajax() URL 是必需的吗?

c# - 您可以将 UserId 存储在 Owin OAUTH 2 token 中吗?