【问题标题】:How to set value to hiddenfield and fire the OnValueChanged event如何为 hiddenfield 设置值并触发 OnValueChanged 事件
【发布时间】:2015-07-31 17:19:53
【问题描述】:

我有引导程序 navbars 并且对于每个选项卡我都有一个单独的数据要绑定。所以在选项卡更改事件中我想找到选项卡索引并进行相应的绑定。

为此,我使用了 asp HiddenField 并参加了 OnValueChanged 事件

<asp:HiddenField ID="hdnField" runat="server" OnValueChanged="hdnField_ValueChanged" />

并设置jquery中的值如下

<script type="text/javascript">
        $(document).ready(function () {
            $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
                var activeTab1 = e.target;

                var activeTab = $(e.target).text(); // Get the name of active tab
                var previousTab = $(e.relatedTarget).text(); // Get the name of previous tab
                varTab = $("#myTab").tabs("option", "selected");
                document.getElementById("<%= hdnField.ClientID %>").value = varTab;   //Setting value for hiddenfield
                $(".active-tab span").html(activeTab);
                $(".previous-tab span").html(previousTab);
            });
        });
    </script>

但是OnValueChanged 事件没有触发。如何设置隐藏字段的索引值

我的导航栏 html 是

<ul class="nav nav-tabs" id="myTab">
<li class="active"><a data-toggle="tab" href="#sectionA">Menu</a></li>
<li><a data-toggle="tab" href="#sectionB">About</a></li>
<li><a data-toggle="tab" href="#sectionC">Help</a></li>
</ul>

【问题讨论】:

    标签: javascript jquery asp.net twitter-bootstrap


    【解决方案1】:

    HiddenField ValueChanged 事件仅在页面回发到服务器时触发。回发触发器后,它会查看视图状态以比较旧值和新值,如果不同,则会引发 ValueChanged 事件。

    如果您尝试从客户端触发,您可以像这样强制更改事件:hidden input change event

    不确定是否要在客户端上运行...

    【讨论】:

    • 如何在我上面提到的同一函数中将导航栏索引传递给隐藏字段
    • 如果您上面的代码设置了导航栏,那么您所拥有的将正常工作。但是在页面回发到服务器(作为 POST 操作)之前,ValueChanged 不会在后面的代码中触发。任何触发 GET 请求的导航都不会是回发,因此不会触发事件。
    • 我应该怎么做才能触发后面的代码,或者还有什么事件可以用来达到同样的效果
    • 服务器上的任何东西都需要回传到服务器;您可以触发 __doPostBack(..); (阅读确切的论点)但是每次有人点击导航项目时你都会触发回发......我真的不知道你为什么首先需要 ValueChanged ,所以如果你可以将它添加到你的帖子会有所帮助。我会尽量在客户端上做任何你能做的事情。
    • 我对此很陌生,实际上我已经编写了根据索引号运行的代码。因此,如果我可以获得该索引,则很容易执行。但是很难做到这一点。如果您有更好的主意,请帮助我提供示例程序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多