0
我需要創建一個網頁與對象樹和屬性表從樹對象中選擇。我提出了三個意見。一個部分用於樹,一個部分用於表示屬性表,另一個用於組合這些視圖。但是現在我有一個問題,當我在樹中選擇對象時,我無法弄清楚如何填充屬性表。如何通過JavaScript事件重建部分視圖?
我的代碼: 索引視圖(組合視圖):
<div class="container">
<div class="row">
<div class="col-md-6">
@RenderPage("Tree.cshtml")
</div>
<div class="col-md-6">
@RenderPage("Attributes.cshtml")
</div>
</div>
</div>
對於樹:
<script src="./Scripts/bootstrap-treeview.js"></script>
<div class="panel panel-info">
<div class="panel-heading">Дерево объектов</div>
<div class="panel-body">
<div id="tree"></div>
</div>
</div>
<script type="text/javascript">
var arrayOfArrays = JSON.parse('@Html.ViewBag.JsonString'.replace(/"/g, '"'), function(k, v){
if (k === "Product")
this.key = v;
else if (k === "Name")
this.value = v;
else
return v;
});
var jsonTree = JSON.stringify(arrayOfArrays);
$("#tree").treeview(
{
data:jsonTree,
levels:6
});
</script>
的屬性:
<div class="panel panel-info">
<div class="panel-heading">Атрибуты</div>
<div class="panel-body">
<table class="table table-bordered table-responsive table-striped">
<thead class="thead-inverse">
<tr>
<th>Имя атрибута</th>
<th>Значение атрибута</th>
</tr>
</thead>
<tbody>
@foreach (var attr in Model.Objects[0].Attributes)
{
<tr>
<th>@attr.Name</th>
<th>@attr.Value</th>
</tr>
}
</tbody>
</table>
</div>
</div>
而且我的樹有一個事件在選擇樹節點時調用。看起來像:
$('#tree').on('nodeSelected', function(event, data) {
//logic goes here
});
數據包含選定的節點數據。節點數據包含此對象的屬性列表。 如何通過'nodeSelected'事件重建屬性表?
Actualy我沒有控制器的屬性。我只有一個控制器用於組合視圖,只有一個方法Index()運行組合視圖。 – Gleb
然後在您擁有的控制器內部創建此部分操作,因爲如果要根據樹中選定的節點加載數據,則必須具有單獨加載數據的操作 –
就是這樣,謝謝。但現在我還有一個問題。重新加載屬性視圖中的模型後爲空。 – Gleb