c# - 如何与 JavaScript 共享 C# 整数变量

标签 c# javascript asp.net html variables

我想与 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# 上的 currentTabPostBack 之后仍然是 1。我该如何解决这个问题?

最佳答案

您可以将索引从您的 javascript 函数写入隐藏字段,然后在回发时读取它。

在您的代码中,如果您的页面是回发的,您将检查隐藏字段。 像这样:

protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack)
        {
            currentTab = Int32.Parse(HiddenTabValue.Value);
        }

    }

关于c# - 如何与 JavaScript 共享 C# 整数变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8532592/

相关文章:

c# - 哪些特性使类成为线程安全的?

c# - Entity Framework 过滤器 "Expression<Func<T, bool>>"

javascript - 从 location.hash 中提取特定的参数值

javascript - 当元素从动态创建的页面加载到文档中时运行函数

c# - tablelayoutpanel 内的 tablelayoutpanel 处置

c# - 如何设置 Connection.Closed 事件以使其在 SignalR 中重新连接?

javascript - 仅使用一个警报打印所有记录

asp.net - 如何在 <telerik :radnumerictextbox> control? 中显示十进制值

c# - 处理不完整或错误的远程注销

asp.net - 无法加载文件或程序集 System.Web.Http,版本=5.2.2.0