我使用JQueryUI标签在我的网络表单上有一组标签。
当我单击选项卡时,我希望加载该选项卡上的数据(仅当我单击选项卡时)。因为我不想在初始页面加载时加载所有选项卡数据。
我在选项卡上使用了一个链接按钮,因此当我单击选项卡时,按钮单击事件应该触发并导致回发。但这不会发生。
我的问题是。 JQueryUI选项卡插件是否禁用选项卡中链接的默认操作?我注意到如果我没有在tab li元素中使用某种类型的锚链接,那么选项卡没有正确呈现,所以JQuery显然需要一个锚来渲染。
如何仅在选中标签时才能加载数据?
答案 0 :(得分:0)
http://jqueryui.com/tabs/#ajax
内容通过右侧菜单中的ajax
然后你可以做类似
的事情ajaxpostback.ashx?页第1页=
然后您只返回预期内容
代码示例
的Javascript
<script type="text/javascript">
$(function () {
$("#tabs").tabs();
});
HTML
<div id="tabs">
<ul>
<li><a href="#tabs-1">Preloaded</a></li>
<li><a href="Handler1.ashx?page=1">Tab 1</a></li>
<li><a href="Handler1.ashx?page=2">Tab 2</a></li>
<li><a href="Handler1.ashx?page=3">Tab 3 (slow)</a></li>
<li><a href="Handler1.ashx?page=4">Tab 4 (broken)</a></li>
</ul>
<div id="tabs-1">
<p>
Nunc tristique tempus lectus.</p>
</div>
处理程序
public void ProcessRequest(HttpContext context)
{
if (string.Compare(context.Request.QueryString["page"].ToString(), "1") == 0)
{
context.Response.ContentType = "text/plain";
context.Response.Write("1");
}
else if (string.Compare(context.Request.QueryString["page"].ToString(), "2") == 0)
{
context.Response.ContentType = "text/plain";
context.Response.Write("2");
}
else
{
context.Response.ContentType = "text/plain";
context.Response.Write("rest");
}
}