2009-11-24 6 views
0

Je suis en utilisant le plugin jquery génial - jQuery Ajax UploadDéfinition d'une HiddenField de asp.net de rappel JavaScript

et après un fichier est téléchargé, ce code est exécuté:

// Called when upload completed successfully (puts success details into hidden fields) 
upload_success_handler: function(file, response) { 
    $("input[name$=_filename]", container).val(file.name); 
    $("input[name$=_guid]", container).val(response); 
    $("#<%=hdnFileName.ClientID %>", container).val(response); 
    //I TRIED SETTING THE ACTUAL CLIENT ID, BUT STILL NO 
    $("ctl00$MainContent$hdnFileName", container).val(response); 
    $("ctl00_MainContent_hdnFileName", container).val(response);   
    $("span[id$=_completedMessage]", container).html("Uploaded <b>{0}</b> ({1} KB)" 
       .replace("{0}", file.name) 
       .replace("{1}", Math.round(file.size/1024)) 
      ); 
    width = 0; 
}, 

La réponse est provenant d'un gestionnaire HTTP qui enregistre le fichier, puis le prend sur flickr et la réponse est un identifiant de photo. Tout cela fonctionne très bien, mais je ne peux pas obtenir mon asp.net HiddenField pour obtenir la valeur de la réponse.

Est-ce que quelqu'un a une idée de la façon de comprendre cela? Les valeurs de champ caché non asp.net semblent obtenir la réponse, donc je suppose que je ne fais que définir le nom du contrôle erroné.

Thansk les gars!

Répondre

1
$("ctl00_MainContent_hdnFileName", container).val(response) 

devrait être (note #)

$("#ctl00_MainContent_hdnFileName", container).val(response) 

Cette expression doit définir la valeur à l'entrée cachée sur le côté client, mais je ne l'ai pas obtenu ce que « je ne peux pas obtenir mon asp.net HiddenField pour obtenir la valeur "signifie réellement?

+0

Juste mal formulé de ma part. Basicaly j'étais capable de placer des champs cachés réguliers, mais pas des champs cachés d'asp.net. Je vais essayer votre additon de # –

+0

Il n'y a pas de différence significative entre les champs cachés réguliers et asp.net. Le champ caché d'Asp.net a le contrôle correspondant au côté de serveur qui saisit la valeur quand ** PostBack ** se produit, ainsi je ne comprends pas toujours pourquoi vous éprouvez quelques problèmes avec le champ caché d'asp.net. Essayez de fournir plus d'informations. – Roman