簡體   English   中英

從JavaScript同步服務器端控件

[英]Sync up server side control from JavaScript

我有以下場景:

我有兩個面板,兩個面板之間可以切換鏈接,這些鏈接不會回發頁面,它們會調用一些淡入淡出面板的JavaScript代碼,從而改變它們的可見性。

在任一面板中我都有一個回發頁面的按鈕,發生了什么,在我淡入第二個面板后,我的viewstate無效,我的回發失敗。

有沒有辦法讓我的viewstate有效從JavaScript同步這兩個面板的可見性? 或者我必須回發這個工作嗎? 如果是這樣的話,我可以在沒有頁面閃爍的情況下進行回傳並且很好地淡化面板嗎?

編輯:這有點像我的代碼,顯然我在div中有一堆控件

<div id="step_one" class="lt-step-1">
    <asp:Button Text="Entrar" ID="btnPost1" OnClick="btnPost1_Click" ValidationGroup="Step1Val" CssClass="btn btn-primary lt-width-5" runat="server" />
    <a href="#" id="link_Step_Two"><span class="icon-repeat"></span>Step Two</a>
</div>
<div id="step_two" class="lt-step-2 hide">
    <asp:Button Text="Confirmar" ID="btnPost2" OnClick="btnPost2_Click" ValidationGroup="Step2Val" CssClass="btn btn-primary lt-width-5" runat="server" />
    <button type="button" id="btn_cancel_step_two" class="btn">Cancelar</button>
</div>

<script>
    require(['jquery', 'bootstrap'], function ($) {

        'use strict';

        var $stepOne = $('#step_one'),
            $stepTwo = $('#step_two'),
            $allSteps = $('[id^="step_"]'),
            $link_Step_Two = $('#link_Step_Two'),
            $btnCancelStepTwo = $('#btn_cancel_step_two'),


        $link_Step_Two.on('click', function () {
            $allSteps.hide();
            $stepTwo.fadeIn();
        });

        $btnCancelStepTwo.on('click', function () {
            $allSteps.hide();
            $stepOne.fadeIn();
        });

    });
</script>

對不起,但是我沒有足夠的積分在Gnani上面之后添加評論。 如果它只是丟失了jquery事件,請對表單元素使用jquery 委托函數 Delegate將自動將您的事件與您的選擇器掛鈎,即使對於將來出現的元素,例如MS Ajax重新創建鏈接時也是如此。 我一直都在使用這個技巧。 就像是:

$("form").delegate('#link_Step_Two', 'click', function() {
  // Your code.
});

$("form").delegate('#btn_cancel_step_two', 'click', function() {
  // Your code.
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM