2017-12-26 14 views
0

私はOnclientclickを私のhiddenfieldに文字列値で保存しようとしていますが、Server.Transfer();ASP.Net Server.TransferとHiddenfield

私はドロップダウン値を変更すると、私はポストバック(Dropdownlist)のための唯一のコントロールです。私は最後に私のコードでServer.Transferを取得します。ここで

はコードです:ここでは
$(document).ready(function() { 

    alert($("[id*=hdnSelectedDiv]").val()); 
}); 

function SaveDiv(value) { 
    $("[id*=hdnSelectedDiv]").val(value); 
} 

    <asp:LinkButton runat="server" CssClass="card-link" ID="lnkGoToLogin" OnClientClick="SaveDiv('dvLogin');return false;" meta:resourcekey="lnkGoToLoginRes"></asp:LinkButton></p> 

がある私のOnSelectedIndexChanged:

準備アラートが私の値は常にempty.I私の文書に値を設定しようと値を警告している文書で
CurrentSession.SetCurrentLanguage(ddl.SelectedValue); 
     ddl.SelectedValue = CurrentSession.CurrentLanguage.IetfLanguageTag; 
     Thread.CurrentThread.CurrentCulture = new CultureInfo(ddl.SelectedValue); 
     Thread.CurrentThread.CurrentUICulture = new CultureInfo(ddl.SelectedValue); 
     Server.Transfer(Request.Url.AbsolutePath); 

それはworking.butですが、私はlinkbuttonをクリックし、ポストバック後に私のドロップダウンで任意のオプションを選択すると私の値は空です。

これを解決するにはどうすればよいですか?Response.Redirect()を使用しません。

+0

あなたが何を使用していても、ポストバックはまだ発生しており、ページがリフレッシュされます。つまり、手動で設定したDOM内のすべてのアイテムを再設定する必要があります。あなたが望んでいなければ、[XMLHttpRequest](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)(AJAX)を使って、一致。 – mason

+0

私は正確に理解していない、私は戻ってpostback.Before私は私の値を私のhiddenfileld.Wayに私の値を保存する前に、私はre-populateマニュアルを必要がありますか? –

+0

別のページに転送しているためです。リダイレクトするか転送するかは関係ありません。新鮮なDOMを使ってどちらかの方法で新しいページを取得します。 – mason

答えて

1

この非表示フィールドには、nameプロパティが必要です。

ポストバックが発生すると、サーバーコード内で、ポストされた値を取得できる瞬間になります。これは処理する時間です。Server.Transferの実行が開始された後、ソースコンテキストがなくなったためです。これらの値がターゲットリクエスト内に必要な場合(ハンドラが転送された場合)、それらの値をハンドラに渡す必要があります。あなたのオプションは、永続的なストレージ(データベースなど)、セッション(あなたの場合には最適かもしれません)、クエリです。

+0

回答ありがとう..私はクエリを使用します:) –

関連する問題