【问题标题】:Can you pass a WebGrid item when calling window.Open调用 window.Open 时可以传递 WebGrid 项吗
【发布时间】:2015-07-06 17:34:58
【问题描述】:

我的 WebGrid 列中有一个按钮。如果单击该按钮,我将使用以下代码弹出一个窗口:

window.open('/Home/Message', '_blank', 'toolbar=yes, scrollbar=yes, resizable=yes, top=500, left=500, width=400, height=400');

“消息”是我创建的另一个填充弹出窗口的视图。我需要能够将行对象传递到该窗口中以按下特定的按钮。我认为有办法做到这一点。

这是我的消息 ActionResult:

public ActionResult Message()
    {
        var model = new MessageViewModel();
        return View(model);
    }

但我真的很想在该方法上为行对象设置一个参数。

编辑:更多细节。

所以我的 webgrid 列中有一个按钮,如下所示:

grid.Column(header: "Fault", format: (item) =>
            {
                if (item.Fault != null)
                {
                    return new HtmlString("<input type='submit' id='btnShowFault' value='Fault' />");
                }

                return "";
            }))

这是点击时调用的javascript:

 $(function () {
    $("#btnShowFault").click(function (e) {
        e.preventDefault();

        window.open('/Home/Message', '_blank', 'toolbar=yes, scrollbar=yes, resizable=yes, menubar=no, top=200, left=500, width=400, height=250');
    });
});

所以我想我真正需要的是两个方面。

  1. 如何将行项目从网格中获取到该函数中。
  2. 如何将其传递给 window.open 调用。

我认为这是可能的,因为这在 wpf 和 silverlight 之类的东西中真的很容易做到。

【问题讨论】:

    标签: javascript asp.net asp.net-mvc razor


    【解决方案1】:

    试试这个

    window.open('/Home/Message?field1=value1&amp;field2=value2...', '_blank','toolbar=yes, scrollbar=yes, resizable=yes, top=500, left=500, width=400,height=400');

    在哪里
    class MessageViewModel()
    {
    public string fireld1{get; set;}
    public string fireld2{get; set;}
    ...............................
    }

    【讨论】:

    • 我用更多细节编辑了我的问题。看看,让我知道你的想法。
    • 你可以通过点击的row id从Model中获取row item,也可以从DOM中获取
    • return new HtmlString("");函数 SameFunction(item){...}
    • 它给出一个错误 Uncaught Reference Error: item is not defined.
    • 没有。视图上的模型包含一个绑定到 WebGrid 的列表。
    【解决方案2】:

    我最终放弃了 window.open 并做了一个对话框。除了文本之外,它太难处理了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-17
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      相关资源
      最近更新 更多