我有以下代码cshtml
<div class="container-fluid" id="dvUserData">
<div class="tab-pane fade" id="documentos" role="tabpanel" aria-labelledby="documentos-tab">
@Html.Partial("Documentos")
<div class="col-md-3">
<button type="submit" class="btn btn-primary botao-vert" data-bind="click: editData">SALVAR</button>
</div>
</div>
和以下绑定
ko.applyBindings(model,document.getElementById(“ dvUserData”));
但是我的data-bind =“ click:editData”不起作用,没有执行该点击。但是,如果我将div class =“ col-md-3” 放在 @ Html.Partial(“ Documentos”)之前,则绑定起作用。
我不知道为什么,我在这里寻找帖子,但找不到类似的内容。 预先感谢您的帮助。
---编辑
部分
<div class="row" id="dvDocument">
<form role="form">
<div class="row">
<div class="col-12">
<table class="table tabela-documentos">
<tbody data-bind="foreach: documentsReturn().documentTypes">
<tr class="bg-cinza">
<td>
<div class="aviso-sucesso" data-bind="visible : hasAllDocuments()"></div>
<div class="aviso-critica" data-bind="visible : !hasAllDocuments()"></div> <span data-bind="text: Description"></span>
</td>
<td>
<span class="d-none" data-bind="value: IdTypeDocument"></span>
<a class="btn btn-secondary" data-bind="click: function () { $parent.saveTypeDocument(IdTypeDocument); $('.alerta-form2').hide();}" data-toggle="modal" data-target="#modalDocumento">
ADICIONAR
</a>
</td>
</tr>
<!-- ko foreach: DocumentsArray() -->
<tr>
<td><i class="fa fa-file-text-o" aria-hidden="true"></i> Inclusão: <span data-bind="text: NewDate"></span></td>
<td>
<i class="fa fa-times pointer" data-toggle="modal" data-target="#modal-confirmation" aria-hidden="true" data-bind="visible : !frombase(),
, click: function(){ @*if (confirm('Deseja realmente deletar o documento?')) {*@ $parent.savePath(Path); @*}*@ }"></i>
</td>
</tr>
<!-- /ko-->
</tbody>
</table>
</div>
</div>
<div class="alert-button">
</div>
</form>
</div>
我忘了提到我还有另一个JavaScript文件,该文件将div文档与其他模型绑定在一起。
答案 0 :(得分:0)
按F12并检查是否有任何敲除js init(ko.applyBindings)错误。 如果有,请修复并尝试。
如果不存在错误,请通过调试代码确保为model.Name()属性设置了一个值。
并检查局部视图,以查看是否将范围/绑定上下文缩小到模型的另一个复杂属性(也具有Name属性)。
最好提供有关部分视图绑定声明以及如何将初始值设置/加载到模型的更多信息。
答案 1 :(得分:0)
在寻找解决方案并与一些朋友交谈之后,我发现了问题所在。我正在绑定具有div id “ documentos” 和其他信息的主要div,这就是问题所在。 我删除了dvUserData的绑定,并将绑定放入我拥有的所有div中,包括仅为按钮创建一个新的div。
这就是我的div “ documentos” 现在的样子。
<div class="tab-pane fade" id="documentos" role="tabpanel" aria-labelledby="documentos-tab">
@Html.Partial("Documentos")
<div class="alert-button mb-3">
<div id="dvDocumentValidate">
<button type="submit" class="btn btn-primary botao-vert" data-bind="click: editData">SALVAR</button>
</div>
</div>
</div>
还有我的绑定
ko.applyBindings(model, document.getElementById("dvLoading")); ko.applyBindings(model, document.getElementById("personaldata")); ko.applyBindings(model, document.getElementById("address")); ko.applyBindings(model, document.getElementById("databank")); ko.applyBindings(model, document.getElementById("dvDocumentValidate")); ko.applyBindings(model, document.getElementById("corporatedata"));