我是Jquery和javascript的新手。我在我的as.net项目中使用Jquery UI选项卡。我的标签内容是动态的。因此,我使用SQL Server来保存和检索它们。我有一个类根据点击的特殊按钮构建标签。这是我的班级:
public class TabBuilder{
public string Build(int ServiceId)
{
string title = " <div class='demo'><div id='tabs' onclick='alert(yes)'><ul>\n";
string content = "";
DataTable select = new DataTable();
ServicesBLL ser = new ServicesBLL();
select = ser.FormsSelTabs(ServiceId);
int i = 1;
foreach (DataRow row in select.Rows)
{
title += createTitle(row["LinkName"].ToString(), i);
content += createContent(row["LinkHref"].ToString(), i);
i++;
}
title += "</ul>\n";
content += "</div></div>";
return title + content;
}
private string createTitle(string title, int i)
{
string htm = "<li><a id='tab{0}' href='#tabs-{1}'>{2}</a></li>\n";
htm = string.Format(htm, i,i, title);
return htm;
}
private string createContent(string content, int i)
{
string htm = "<div id='tabs-{0}'><iframe dir='rtl' frameborder='0' height='600px' width='100%' src='{1}'></iframe></div>\n";
htm = string.Format(htm, i, content);
return htm;
}}
在我的aspx页面中我有一个文字(LtrTabs)来显示标签,在aspx.cs代码中我有这个代码来构建标签:
protected void btnEntities_Click(object sender, EventArgs e)
{
ServiceID = 1;
TabBuilder tab = new TabBuilder();
LtrTabs.Text = tab.Build(ServiceID);
}
我需要延迟加载标签,但我不知道如何实现它。我看到了一些示例,但没有一个使用数据库来加载内容。
答案 0 :(得分:1)
我没有筛选服务器端代码以确定,但只要你有一个函数输出带有标记的 empty 标签,如下所示:
http://jqueryui.com/demos/tabs/#Ajax_mode
然后,这只是用有效资源填充hrefs的问题。在您的服务器端,只要它能够识别HTML内容的传入请求(无需发回标签等,只需要内容),这就是您所需要的一切。
回顾一下:
使用空标签返回HTML的功能。或者,如果这不需要是动态的,只需将其写为HTML;没有必要用不必要的逻辑使事情变得复杂。
返回标签内容的功能。
你如何区分这两者真的取决于你。 POST / GET变量,不同的URL ......但是你的应用程序正在构建中。