我在我的应用程序中使用Ajax Tab面板。 左侧有4个标签,右侧有部分视图。 在每个选项卡中,我显示一些数据,每个选项卡上都有一个选择链接按钮。 当我点击任何选择链接按钮时,我用部分信息填充局部视图。 当发生这种情况时,我的视图将再次完全加载。 A B C D
例如这些是标签。 让我们假设我在选项卡B上,现在当我点击选择链接按钮时,我的视图完全加载了信息。 但是此时标签松散了焦点。我回到了默认值。 所以我想要帮助 1)要么我必须只刷新部分视图而不加载整个页面 2)或者我需要在点击选择链接按钮时保持活动的标签索引值 请帮我解决这个问题 并提供我的例子
答案 0 :(得分:1)
jQuery Tabs - Load contents only when clicked 以下是通过Ajax动态加载选项卡内容的示例。对于PHP,您需要更改的是放置控制器/操作而不是PHP页面的URL。
$.get("controller/action", {tab_clicked, "my_tab"}, tab_fetch_cb, "text/json/xml");
或者代替Ajax.ActionLink
使用<a onclick="LoadTab(@item.ID)">Item @item.ID</a>
和jquery函数来更改选项卡并加载数据dyanamicaly
function LoadTab(id){
//Change tab here Ex: $('#tabs').tabs('select', index);
$.get('ajax/test.html', {Id, id},function(data) {
$('#Partial_Controller_Name').html(data);
});
}
答案 1 :(得分:0)
在tab的click事件上写一个ajax调用,并在选项卡的容器中加载局部视图
答案 2 :(得分:0)
这可以使用RjsResult类
来完成如果使用mvc1,你可以使用RjsResult.cs
通过这个..你可以在页面中更新你想要的div ...
将其用于实施
public ActionResult Some_Method(){
RjsResult r = new RjsResult();
ViewData["SomeData"] = Some_Function();
r.update("DIV_id","PartialPagePath",ViewData,ControllerContext);
return r;
}
所以当你点击一些想法..这个功能将被实现,并将刷新div与部分
查看部分
<div id="DIV_id"></div>
只需点击一下即可更新任意数量的dv:)