【问题标题】:MVC return a value from a jqueryui dialog modalMVC 从 jqueryui 对话框模式返回一个值
【发布时间】:2014-04-06 11:51:23
【问题描述】:

我有一个非常简单的对话框,可以在页面准备就绪时打开,这里是代码

这段代码在我看来

$(document).ready(
        //Dialog
        $("#dialog").dialog({
            title: "Dialog box",
            height: 300,
            modal: true,
            open: function(event, ui) {
                $(this).load("@Url.Action("TestDialogView", "Card")");
            }
        })
    );

现在这会打开一个对话框模式,其中包含 TestDialogView 的视图内容。现在我想做的是在对话框中绘制一个表格(我可以用视图来做到这一点),但我想要尝试做的是,当用户单击表格中的一个项目时,该 ID然后将 item 发布回我们所在的视图,并且现在将 id 传递到我的模型中。

步骤示例

  1. 第 1 步:用户加载 CardTypes 页面
  2. 第 2 步:对话框显示项目列表
  3. 第三步:点击表格行中的“查看”链接时
  4. 第 4 步:该项目的 ID 将从对话框中回传
  5. 第五步:对话框关闭
  6. 第 6 步:CardTypes 视图模型上的变量 SelectedId 现在填充了从对话框发回的 id。

干杯

---更新---

这是我的对话的屏幕截图,

这是渲染它的视图

@model CardSite.Models.FileSearchModel

@{
    ViewBag.Title = "Attacks";
}

<table class="table">
<tr>
    <th>
        @Html.DisplayNameFor(x => x.Name)
    </th>
    <th>
        Select
    </th>
</tr>

@foreach (var item in Model.PokemonFiles)
{
<tr>
    <td>
            @Html.DisplayFor(m => item.Name)
    </td>
    <td>
        <a href="">View</a>
    </td>
</tr>
}

</table>

我的观点需要改变什么? “查看”链接应该是什么?

【问题讨论】:

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


    【解决方案1】:

    您需要使用.on() 进行事件委托:

    var selectedId = '';
    $("#dialog").on('click', '.table a', function(){
        selectedId = this.id;
    });
    

    或者,如果您对第 4 步进行更多解释。


    根据您更新的问题,我在您的表格中看不到任何 ID,或者任何 tr, td or anchor 也没有任何 ID。
    所以现在我在这里稍微改变了我的答案:

    $("#dialog").on('click', '.table a', function(){
        alert($(this).closest('tr').find('td:first').text());
    });
    

    上面的代码会给你第一个 td 在 alert 中与点击的链接相关的文本。

    【讨论】:

    • 老实说,我不是 100% 确定第 4 步,我可以用我的数据库中的数据绘制一个表,然后我可以添加一个链接,该链接将链接到某些东西并传递 id,我不确定如何将我的 ID 从我的视图传递回模式所在的视图。
    • 看看你的锚是否持有那个 id 然后你可以使用上面发布的你可以用任何类名更改viewlink 如果添加到该链接。
    • 我会让你知道它是如何进行的欢呼。我不会打勾作为答案,因为我仍然可能需要帮助
    • @canvas 我在那里看不到任何 ID。
    • 你提供的代码这都去哪儿了?在我的 CardTypes 视图或对话框中绘制的视图上?
    猜你喜欢
    • 2020-06-27
    • 2016-07-19
    • 1970-01-01
    • 2015-04-26
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    相关资源
    最近更新 更多