我想与JavaScript共享C#服务器端存在的currentTab
变量。这是我的代码:
C#:
public int currentTab = 1;
protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Type.GetType("System.String"), "addScript", "showTab(" + currentTab + ");", true);
}
JavaScript:
var currentTab = "<%=currentTab%>";
function showTab(index)
{
currentTab = index;
// Show tab at (index)
}
我使用这种方法再次在PostBack上获取了当前标签。但是,C#上的
currentTab
在1
之后仍然是PostBack
。我该如何解决这个问题? 最佳答案
您可以将索引从JavaScript函数写入隐藏字段,然后在回发时读取。
如果页面是回发的,则在代码中检查hiddenfield。
像这样:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
currentTab = Int32.Parse(HiddenTabValue.Value);
}
}