あなたがやろうとしているのは 2 つのグリッド間を行ったり来たりすることだけなのか、それともサーバーに戻って更新されたデータを取得しようとしているのかもわかりません。
最初のアプローチはより単純です。これがうまくいくかどうか教えてください:
基本的に、両方のグリッドのコードを記述します (両方がページの読み込み時に初期化されるように) が、一方の可視性をオフにします。次に、jQuery を使用して、クリック時に両方のグリッドの表示を切り替えます。
Jクエリ
function toggleGridView(on, off) {
var gridToShow = "#Grid" + on + "Container";
var gridToHide = "#Grid" + off + "Container";
$(gridToShow).show();
$(gridToHide).hide();
}
マークアップを表示
<a class="k-button" href="#_" onclick="toggleGridView('1', '2')">Show Grid 1</a>
<a class="k-button" href="#_" onclick="toggleGridView('2', '1')">Show Grid 2</a>
<div id="container">
<div id="Grid1Container">
@(Html.Kendo().Grid(Model.UserModel.UserAddressBook)
.Name("Grid1")
.Columns(columns =>
{
columns.Bound(i => i.CompanyName).Width(120).HtmlAttributes(new { id = "CompanyName" });
//Other column data
})
)
</div>
<div id="Grid2Container" style="display:none;">
@(Html.Kendo().Grid(Model.UserModel.UserProductBook)
.Name("Grid1")
.Columns(columns =>
{
columns.Bound(i => i.Description).Width(120).HtmlAttributes(new { id = "Description" });
//Other column data
})
)
</div>
