Comment définir la Valeur de HiddenField sur la Page de la charge et de l'accès en Javascript asp.net?
J'ai une Page qui contient l'image de contrôle qui affiche les images du Dossier Spécifique (diaporama) à l'aide de Javascript. J'ai mis la valeur de HiddenField Valeur au Chargement de la Page et souhaitez accéder à ces valeurs à l'aide de Javascript. Mais, après le réglage de la valeur du Champ Caché au Chargement de la Page la valeur du Champ Caché en Javascript montre la valeur NULL.
Dans .page aspx:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.min.js"></script>
</head>
<script type="text/javascript">
var folderNm = document.getElementById('<%#HiddenFieldFolderName.ClientID%>');
var MaxIndex = document.getElementById('<%#HiddenFieldMaxIndex.ClientID%>');
var mainImage = document.getElementById('mainImage');
//mainImage.src = "Presentations/7/Slide1.GIF";
//Initilize start value to 1 'For Slide1.GIF'
var currentIndex = 1;
//NOTE: Set this value to the number of slides you have in the presentation.
//var maxIndex = 7;
var maxIndex = MaxIndex;
alert("Folder Name " + folderNm + "\n MaxIndex " + MaxIndex);
function swapImage(imageIndex) {
//Check if we are at the last image already, return if we are.
if (imageIndex > maxIndex) {
currentIndex = maxIndex;
return;
}
//Check if we are at the first image already, return if we are.
if (imageIndex < 1) {
currentIndex = 1;
return;
}
currentIndex = imageIndex;
//Otherwise update mainImage
//document.getElementById("mainImage").src = 'PPT/GIFs/Slide' + currentIndex + '.GIF';
document.getElementById("mainImage").src = 'Presentations/' + folderNm + '/' + 'Slide' + currentIndex + '.GIF';
//document.getElementById("mainImage").src = 'Presentations/7/Slide' + currentIndex + '.GIF';
return;
}
</script>
<body>
<form id="form1" runat="server" >
<div>
<div>
<%-- <img src="PPT/GIFs/Slide1.GIF" id="mainImage" name="mainImage" width="50%" height="50%" alt="">--%>
<img id="mainImage" name="mainImage" width="25%" height="25%" alt="">
</div>
<div>
<a href="#" onclick="swapImage(0);">
<img src="/images/firstss.png" border="0" alt="First"></a>
<a href="#" onclick="swapImage(currentIndex-1);">
<img src="/images/prev.png" border="0" alt="Previous"></a>
<a href="#" onclick="swapImage(currentIndex+1);">
<img src="/images/nexts.png" border="0" alt="Next"></a>
<a href="#" onclick="swapImage(maxIndex);">
<img src="/images/lasts.png" border="0" alt="Last"></a>
</div>
<div>
<asp:HiddenField ID="HiddenFieldMaxIndex" runat="server" />
<asp:HiddenField ID="HiddenFieldFolderName" runat="server" />
</div>
</div>
</form>
</body>
</html>
Dans .aspx.cs fichier:
protected void Page_Load(object sender, EventArgs e)
{
string foldername = string.Empty;
if (Request.QueryString["di"] != null)
{
foldername = Request.QueryString["di"].ToString();
HiddenFieldFolderName.Value = foldername;
HiddenFieldMaxIndex.Value = Request.QueryString["Files"].ToString();
}
}
Ici, le Champ Caché valeur indique la valeur null dans alert() de la boîte. Aide Appréciée.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de modifier
à
Faire de même pour
<%#HiddenFieldMaxIndex.ClientID%>
Voir ASP.NET expressions inline et cette question<%=
au lieu de<%#
Si vous cochez la source de votre page, voyez-vous, le caché entrées?
Si je suis correct (n'ont pas utilisé les webforms beaucoup ces derniers temps) le bâtiment asp:HiddenField doens pas mis le champ dans le code HTML généré. À cet effet la fonction javascript ne pouvez pas trouver le terrain et retourne la valeur null.
Vous pouvez utiliser l'asp:TextBox composant et de le cacher à l'aide de css (display:none;). De cette façon, la zone de texte est rendu dans le HTML mais pas visible pour l'utilisateur final (sauf quand il est à la recherche à travers la source de la page). Vous javascript trouverez le contrôle et sera capable de lire la valeur de la zone de texte.
Essayez d'utiliser des outils comme Firebug pour Firefox ou l'inspecteur de page pour Chrome pour faire face à ce genre de bugs.
Vous déjà ajouter une référence à
jquery
, alors pourquoi ne pas l'utiliser?faire de même pour les autres..
Même en utilisant ci-dessus ne fonctionneront pas, car lorsque vous accédez à des champs cachés document peut ne pas être prêt.
Si vous avez besoin de vérifier ce sans
jquery
mis tout ton code à l'intérieur deswapImage
de la fonction et vérifier qu'il fonctionne.REF : jquery Sélecteur d'ID (“#id”)