2009-10-22 2 views
6

Hey ragazzi, ho uploadify gestendo alcuni file caricati sul mio progetto mvc e quella parte sta funzionando molto bene voglio solo sapere che cosa ho bisogno di aggiungere a la mia azione di controllo per ottenere l'accesso alle variabili scriptData che sto passando dal javascript uploadifycome accedere a scriptData da uploadify in asp.net MVC controller

EDIT per qualche precisazione:

mio script uploadify è la seguente:

var fileCategoryID; 
$(document).ready(function() { 
$('#uploadify').uploadify({ 
    'uploader': '../../scripts/uploadify.swf', 
    'cancelImg': '../../content/images/cancel.png', 
    'script': '../../' + $('#Controller').val() + '/FileSave/' + $('#OrderID').val(), 
    'folder': 'Uploads', 
    'multi': true, 
    'auto': false, 
    'queueSizeLimit': 5, 
    'queueID': 'fileQueue', 
    'displayData': 'speed', 
    'fileExt': '*.pdf', 
    'fileDesc': 'PDF', 
    'sizeLimit': '5242880', 
    'scriptData': { 'categoryID': fileCategoryID } 
}); 
$('#fileCategory').change(function() { 
    fileCategoryID = $('#fileCategory').val(); 
}); 
}); 

sono curioso come mi può accedere a questi dati dal mio controller action

risposta

4

Trovata una risposta da solo, accettando una raccolta di moduli nell'azione controller, posso accedere al parametro categoryID dallo script uploadify.

EDIT per un po 'di codice:

[AcceptVerbs(HttpVerbs.Post)] 
public string FileSave(long id, HttpPostedFileBase FileData, FormCollection forms) 
{ 
    long catID = Int64.Parse(forms.Get("CategoryID")); 

    //do something with files 

    return "Upload Successful"; 
} 
+0

Puoi anche usare l'opzione formData -' formData ': {' someKey ':' someValu e ',' someOtherKey ': 1} – rboarman

0
<script type="text/javascript"> 
    $(function() { 
     $('#file_upload').uploadify({ 
      'swf': "@Url.Content("~/Content/UploadifyContent/uploadify.swf")", 
      'cancelImg': "@Url.Content("~/Content/UploadifyContent/uploadify-cancel.png")", 
      'uploader': "@Url.Action("Upload", "Callout", new { @id = 5 })", 
      'scriptData': { 'id': $('#Job_Id').val() }, 
      'onUploadSuccess': function (file, data, response) { 
       $("#uploaded").append("<img src='" + data + "' alt='Uploaded Image' />"); 
      } 
     }); 
    }); 
</script> 

pubblico ActionResult Upload (id lungo, HttpPostedFileBase FileData) {

}

sostituire '5' con $ (' #/.blah '). val() o equiv

+0

Grazie per la risposta. Tuttavia, penso che ci siano alcuni problemi con i caratteri di citazione nidificati. Valuta la possibilità di modificare la tua risposta? – Barett