【发布时间】:2018-05-27 19:46:15
【问题描述】:
我有 3 个标签来加载图表, 所以我希望通过选择每个选项卡来加载数据, 看起来是这样的:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First Tab</a></li>
<li><a href="#tabs-2">Second Tab</a></li>
<li><a href="#tabs-3">Third Tab</a></li>
</ul>
<div id="tabs-1">
<p>
This is Chart1
</p>
</div>
<div id="tabs-2">
<p>
This is Chart2
</p>
</div>
<div id="tabs-3">
<p>
This is Chart3
</p>
<p>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
我希望每个选项卡单击加载一个 c# 方法
public void loadFirstTab()
{
//load first Chart
}
public void loadSecondTab()
{
//load Second Chart
}
public void loadThirdTab()
{
//load ThirdChart
}
我尝试使用 Ajax 调用,但静态关键字使其无法使用!!!
编辑
ajax 调用
$.ajax({
type: "POST",
contentType: "application/json;
charset=utf-8",
url: "myPage. aspx/TabClickAjax",
data: "{activTab:activTab}",
dataType: "json",
success: function (msg) { } });
网络方法
public partial class mypage : System.Web.UI.Page
{ [WebMethod]
public static void TabClickAjax(string activTab)
{
If(activTab == "1" )
{
LoadFirstTab()
}
}
...
}
【问题讨论】:
-
你能解释一下“静态关键字”的问题吗?
-
如何在静态 web 方法中调用非静态 c# 方法,例如 (loadFirstTab,loadSecondTab,...)?我试过了,还是不行?
-
你能分享一下这个静态方法以及它是从哪里调用的吗? Page 类具有所有实例方法。
-
ajax方法:$.ajax({type: "POST", contentType: "application/json; charset=utf-8", url: "myPage.aspx/TabClickAjax", data: " {activTab:activTab}", dataType: "json", 成功: function (msg) { } });
-
公共部分类 mypage : System.Web.UI.Page { ... [WebMethod] public static void TabClickAjax(string activTab) { If(activTab == "1" ) {LoadFirstTab()} } ... }