使用Jquery UI Dialog和KnockoutJS呈现第二种形式

问题描述

|| 我定义了一个主表格,布局很好,它可以完成所需的工作...
@{ Html.BeginForm(); }
@Html.ValidationSummary(false)
@Html.AntiForgeryToken()
@Html.EditorFor(model => model)
<h2>Properties</h2>
<hr />
@* I want to put some stuff here... *@
<br class=\"space\" />
<div class=\"clearfix\">>
    <button type=\"submit\" data-bind=\"click: save\">
        Save
    </button>
</div>
@{ Html.EndForm(); }
接着。此模型(或称为viewmodel)具有一个
IList<Propertyviewmodel>
Propertyviewmodel
有自己的一组验证。目前,它们非常简单,但是以后有可能会对此设置进行更复杂的使用。 我使用ѭ3来保持viewmodel的一致性。虽然我认为这是相当不愉快的事。我想以
jQuery UI Dialog
显示第二种形式,并从本质上返回结果。
<script type=\"text/javascript\">
    var viewmodel = {
        name: ko.observable(),description: ko.observable(),properties: ko.observableArray(),save: function () {
            alert(ko.toJSON(viewmodel));
        },includeProperty: function () {
            $(\"#dialog\").dialog({
                width: 500,closeText: \'\',resizable: true,buttons: {
                    \'Submit\': function () {
                        $(this).dialog(\'close\');
                        callback( @* I want the new data to get sent back *@ );
                    },\'Cancel\': function () {
                        $(this).dialog(\'close\');
                        return false;
                    }
                }
            });
        }
    };
    function callback(value) {
        alert(ko.toJSON(value)); // (I will push the new property to the viewmodel here)
    }
    ko.applyBindings(viewmodel);
</script>
但是,我不确定如何将“ 6”真正放入对话框中,而且我不确定如何从中取出数据。     

解决方法

        我不完全理解您的问题,但是据我了解,您试图做的是将数据传递到对话框并从对话框中检索数据。在这种情况下,这可能会很有用: http://api.jquery.com/jQuery.data/ 这是有关如何使用的详细示例: 将数据传递到jQuery UI对话框     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...