Wie legen Wert HiddenField auf die Seite laden und den Zugriff in Javascript auf asp.net?
Ich habe eine Seite, die das Bild-Steuerelement, das zeigt Bilder aus Bestimmten Ordner (Dia-Show) mit Javascript. Ich habe den Wert des HiddenField-Wert beim Laden der Seite und wollen, um Zugriff auf diese Werte über Javascript. Aber nach der Einstellung der Wert des Hidden-Feld beim Laden der Seite den Wert des Versteckten Feldes in Javascript zeigt NULL.
In .aspx-Seite:
<!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>
In .aspx.cs-Datei:
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();
}
}
Hier, das Versteckte Feld Wert zeigt null alert() box. Hilfe Zu Schätzen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie zum ändern
zu
Tun das gleiche für
<%#HiddenFieldMaxIndex.ClientID%>
Siehe ASP.NET inline-Ausdrücke und diese Frage<%=
statt<%#
Wenn man sich mal die Quelle deiner Seite, siehst du die versteckten Eingänge?
Wenn ich richtig bin (habe nicht benutzt, webforms eine Menge in letzter Zeit) die eingebaute asp:HiddenField doens T setzen Sie das Feld an, in das generierte HTML. Dadurch Ihre javascript-Funktion nicht finden können, das Feld und wird null zurückgeben.
Können Sie das asp:TextBox-Komponente und verstecken es mit css (display:none;). So werden die textbox-gerendert wird in HTML, aber nicht sichtbar für den Endbenutzer (außer, wenn er auf der Suche durch den Quellcode der Seite). Sie javascript finden Sie die Kontrolle und wird in der Lage sein, um Lesen Sie den Wert der text-box.
Versuchen mit tools wie Firebug für Firefox oder die page inspector für Chrome, die sich mit dieser Art von Fehler.
Du schon auf Verweis hinzufügen, um
jquery
, also warum nicht Sie es verwenden?das gleiche für andere tun..
Sogar mit oben nur nicht funktioniert, weil, wenn Sie Zugriff auf versteckte Felder-Dokument möglicherweise nicht bereit.
Wenn Sie brauchen, um dies zu überprüfen, ohne
jquery
alle Ihre code innerhalbswapImage
- Funktion und überprüfen, dass es funktioniert.REF : jquery ID-Selektor ("#id")