Closed Bezarius closed 3 years ago
View:
@using PerpetuumSoft.Knockout @model Smev.Astd.DataModel.Context @{ var ko = Html.CreateKnockoutContext(); } <fieldset> <legend>Изменение контекстного справочника</legend> <br /> @using (var contextDictionary = ko.Foreach(m => m.Dictionaries)) { @ko.Html.HyperlinkButton("[x]", "RemoveDictFromContext", "ContextDictionaryController", new { dictIndex = contextDictionary.GetIndex() }) <table> <tr> <td>Идентификатор:</td> <td> @contextDictionary.Html.TextBox(m => m.Name) </td> </tr> <tr> <td>Отображаемое название:</td> <td> @contextDictionary.Html.TextBox(m => m.DisplayName) </td> </tr> </table> <br /> <div> <table> <tr> <th /> <th>Value</th> @using (var key = contextDictionary.Foreach(k => k.Keys)) { <th> @key.Html.TextBox(k => k) @ko.Html.HyperlinkButton("[x]", "DeleteKey", "ContextDictionaryController", new { dictIndex = contextDictionary.GetIndex(), keyIndex = key.GetIndex() }) </th> } <th> @ko.Html.HyperlinkButton("[+]", "AddKey", "ContextDictionaryController", new { dictIndex = contextDictionary.GetIndex() }) </th> </tr> <tbody> @using (var row = contextDictionary.Foreach(k => k.Rows)) { <tr> <td> @ko.Html.HyperlinkButton("Удалить строку", "RemoveRow", "ContextDictionaryController", new { dictIndex = contextDictionary.GetIndex(), rowIndex = row.GetIndex() }) </td> <td> @row.Html.TextBox(r => r.Value) </td> @using (var entry = row.Foreach(e => e.Entryes)) { <td> @entry.Html.TextBox(e => e) </td> } </tr> } </tbody> @ko.Html.HyperlinkButton("[+]", "AddRow", "ContextDictionaryController", new { dictIndex = contextDictionary.GetIndex() }) </table> </div> <br /> } @ko.Html.Button("Сохранить", "Save", "ContextDictionaryController").Enable(m => m.Dictionaries.Count > 0) </fieldset> @ko.Apply(Model)
Generated HTML(this part):
<fieldset> <legend>Изменение контекстного справочника</legend> <br> <!-- ko foreach: Dictionaries --> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveDictFromContext?dictIndex='+$index()+'');}" href="#">[x]</a> <table> <tbody><tr> <td>Идентификатор:</td> <td> <input data-bind="value : Name"> </td> </tr> <tr> <td>Отображаемое название:</td> <td> <input data-bind="value : DisplayName"> </td> </tr> </tbody></table> <br> <div> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/AddRow?dictIndex='+$index()+'');}" href="#">[+]</a><table> <tbody><tr> <th> </th><th>Value</th> <!-- ko foreach: Keys --> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <th> <input data-bind="value : $data"> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/DeleteKey?dictIndex='+$parentContext.$index()+'&keyIndex='+$index()+'');}" href="#">[x]</a> </th> <!-- /ko --> <th> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/AddKey?dictIndex='+$index()+'');}" href="#">[+]</a> </th> </tr> </tbody><tbody> <!-- ko foreach: Rows --> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <tr> <td> <a data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/RemoveRow?dictIndex='+$parentContext.$index()+'&rowIndex='+$index()+'');}" href="#">Удалить строку</a> </td> <td> <input data-bind="value : Value"> </td> <!-- ko foreach: Entryes --> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <td> <input data-bind="value : $data"> </td> <!-- /ko --> </tr> <!-- /ko --> </tbody> </table> </div> <br> <!-- /ko --> <button data-bind="click : function() {executeOnServer(viewModel, '/ContextDictionaryController/Save');},enable : Dictionaries().length>0">Сохранить</button> </fieldset>
the bug is that the inputs don't have type="text" ? because I have the same problem
General problem in incorrect generation.
but the problem was solved here #34, do you still have the problem?
View:
Generated HTML(this part):