Ich kann einfache Beispiele zum Laufen bringen, solange keine Masterseite involviert ist. Alles, was ich tun möchte, ist eine Schaltfläche klicken und haben es sagen "Hallo Welt" mit dem Javascript in einer .js-Datei, mit einer Master-Seite. Jede Hilfe sehr viel geschätzt :)
Antworten
Zu viele Anzeigen?Verweisen Sie auf die Jquery .js-Datei im Kopf der MasterPage wie folgt:
<script type="text/javascript" src="/Scripts/jquery-1.2.6.min.js"></script>
(einige Browser mögen es nicht, wenn sie mit /> enden)
Dann können Sie Dinge schreiben wie
$('#<%= myBtn.ClientID%>').show()
in Ihrem Javascript sicherstellen, dass Sie die ClientId verwenden, wenn Sie ein ASP.Net-Steuerelement in Ihrem Client-Code referenzieren. Das wird jedes "Mangling" von Namen und ids der Kontrollen zu behandeln.
Hauptseite:
Die jQuery-Bibliothek befindet sich auf der Hauptseite. Prüfen Sie, ob der Pfad korrekt referenziert ist. Vielleicht möchten Sie die zusätzliche Dokumentation wie folgt hinzufügen:
<head>
<script type="text/javascript" src="/Scripts/jquery-1.2.6.min.js"></script>
<% if (false) { %>
<script type="text/javascript" src="/Scripts/jquery-1.2.6-vsdoc.js"></script>
<% } %>
</head>
Hauptseite:
<head>
<script type="text/javascript">
$(document).ready(
function()
{
alert('Hello!');
}
);
</script>
</head>
CodeBehind für Inhaltsseiten und Benutzerkontrollen:
this.textBox.Attributes.Add("onChange",
String.Format("passElementReferenceToJavascript({0})", this.textBox.ClientID));
Sehen Sie sich diesen Beitrag an:
http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx
erklärt auch, wie man Intellisense für jQuery in Visual Studio erhält.
Wenn Seiten zusammen mit Masterseiten gerendert werden, wird die ID des Steuerelements beim Rendern der Seite geändert, sodass wir sie nicht in jQuery wie folgt referenzieren können #controlid
. Stattdessen sollten wir versuchen, die input[id$=controlid]
. Wenn das Steuerelement als Eingabe-Steuerelement oder als Anker-Tag gerendert wird, verwenden Sie a[id$=controlid]
in jQuery.