2016-09-14 4 views
0

javascriptの変数をコントローラに渡すかどうかを知りたい。私がやろうとしているのは、ユーザーがサインインして私のビューで空になる変数をコントローラに持たせることです。変数が空であるかどうかを検証します。空の場合はJavaScriptのプロンプトを呼び出します。私はjavascript変数で記述するテキストが、私はどのように私のコントローラ変数にテキストを渡すか分からない。 これは私がコードにしようとしているものです:javascriptの変数をビューからコントローラに渡して別の変数に保存する

コントローラ:

ViewData["Contenedor"] = contenedor; 

空またはその空のコールプロンプトnot.Ifであれば、私はビューでのViewDataに変数を渡すと検証:

@if (ViewData["Message"] == null){ 
<script type="text/javascript"> 
     window.onload = function() { 
     var contenedorID = prompt("Ingrese ID del Contenedor a Ingresar", ""); 
     -- Here I want to do something to pass my variable contenedorID to my controller variable contenedor --- 
    }; 
</script> 
+1

次のコントローラのアクションをどのように調整しますか?リダイレクト経由で? querystringで渡します。リダイレクトしたくない場合は、ajax経由で投稿することができます。 – Shyju

答えて

0
@if (ViewData["Message"] == null){ 
<script type="text/javascript"> 
     window.onload = function() { 
     var contenedorID = prompt("Ingrese ID del Contenedor a Ingresar", ""); 
     -- Here I want to do something to pass my variable contenedorID to my controller variable contenedor --- 

@ViewData["Message"] = "variablevalue you want to pass" 

    }; 
</script> 

これは、あなたがback.Thisが出て、既存のコードのいずれかを変更することで動作します投稿するときのコントローラにアクセスできるようになりますViewDataを内のデータを記憶しています。

クリーンな方法は、ajax投稿を行うか、@ Html.HiddenForを使用して隠し変数に値を設定することです。

関連する問題