[英]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.