2017-03-14 11 views
0

javaScriptまたはHTMLフィールドからパラメータセットの値で追加パラメータを渡す必要があります。Kendo MVCアップロードコントロールでJavascript/html変数をパラメータとして渡す

以下の例では、HTML要素値またはJavascript変数値をuploadIDに渡す例を示します。

注:ここではViewModelを使用することに制限があります。

@(Html.Kendo().Upload() 
    .Name("files") 
    .Async(a => a 
     .Save("Save", "Upload", new { uploadID = "XXX" }) 
     .Remove("Remove", "Upload") 
     .AutoUpload(true) 
    ) 
) 
+0

あなたはエラーを取得していますか?何が問題になっているようですか? – sleeyuen

+0

"XXX"の代わりにJavaScript変数値を取得する必要があります。このコントローラーはサーバータグ@()内にあるため、直接値を割り当てることはできません。 XXXのHTML隠しフィールドの価値を得る方法があります –

答えて

0

これを試してみてください:

@(Html.Kendo().Upload() 
    .Name("files") 
    .Async(a => a 
     .Save("Save", "Upload") 
     .Remove("Remove", "Upload") 
     .AutoUpload(true) 
    ) 
    .Events(e => e 
     .Upload(@<text> 
      function(e) {  
       e.data = { uploadID: your_js_variable }; 
      } 
     </text>) 
    ) 
) 
+0

ありがとうございます。パスの値を取得し、これでコントローラにアクセスします。 –

+0

別のヘルプが必要です。 e.data {}に割り当てられたJS変数は、ページロード時に設定された初期値に設定され、後でhtmlに設定された更新値を反映しません。 Kendo Upload Controllerを最新の値に更新する方法はありますか –

+0

これは非常に興味深いことです。アップロードが開始されるたびに剣道が値を取得していると思います。おそらく代わりに関数を渡してみてください(これが可能かどうかわからないうちに試したことはありません)。 'e.data = {uploadID:func_that_calculates_value()};'新しい質問を作成する必要があるかもしれません。 – sleeyuen

関連する問題