1Danke
ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
1681
1681
EMPFEHLEN
-
Ich habe ein Webpart für einen Sharepoint in C# geschrieben welches eine *.js Scriptdatei ausführt wenn ich auf einen Button klicke. Jetzt möchte ich aber nicht jedesmal auf den Button drücken sondern das script automatisch ausführen wenn die Seite geladen hat.
Hier der Code um das script mit dem Button aufzurufen:
Der Code mit Button:
Code :1
output.Write("<br><input class='ms-SPButton' value=\'Klick mich\' type=button onclick=\"Code();\" >");
Könnt ihr mir verraten wie ich das ohne Buttonklick hinbekomme?
Vielen Dank für eure Hilfe
-
09.10.08 11:57 #2
- Registriert seit
- Jan 2005
- Ort
- Frankfurt am Main
- Beiträge
- 297
Ich denke das, was du suchst schaffst du damit: Page.ClientScript.RegisterStartupScript(....)
http://dirkgoldecker.spaces.live.com
. Microsoft Certified Technology Specialist
. Microsoft Certified Professional Developer
|-> Web Applications
-
Nur damit man es besser nachvollziehen kann:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
using System; using System.IO; using System.Diagnostics; using System.Reflection; using System.Runtime.InteropServices; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; //nicht benötigt? using System.Xml.Serialization; using System.Globalization; using System.ComponentModel; using Microsoft.SharePoint; using Microsoft.SharePoint.WebControls; using Microsoft.SharePoint.WebPartPages; namespace ColoredEntries { [Guid("ec3aa31c-65ef-45f9-89a4-d4081fa19588")] [CLSCompliantAttribute(false)] //neu Microsoft.SharePoint.WebPartPages.WebPart //alt System.Web.UI.WebControls.WebParts.WebPart public class ColoredEntries : Microsoft.SharePoint.WebPartPages.WebPart { private const string defaultText = ""; private string text = defaultText; private const string JCodeFileName = "myCode1.js"; private const string JCodeIncludeScriptKey = "myJCodeIncludeScript"; private const string IncludeScriptFormat = @"<script language=""{0}"" src=""{1}{2}""></script>"; public ColoredEntries() { Debug.WriteLine("Test1"); this.PreRender += new EventHandler(ColoredEntries_PreRender); } [Browsable(true), Category("Miscellaneous"), DefaultValue(defaultText), WebPartStorage(Storage.Personal), FriendlyName("Text"), Description("Text Property")] public string Text { get { return text; } set { text = value; } } private void ColoredEntries_PreRender(object sender, System.EventArgs e) { Debug.WriteLine("Test2"); RegisterCommonScript(); } protected void RegisterCommonScript() { Debug.WriteLine("Test3"); //string location = null; if (!Page.IsClientScriptBlockRegistered(JCodeIncludeScriptKey)) { String location = this.ClassResourcePath + "/"; Debug.WriteLine(this.ClassResourcePath); // Create the client script block. string includeScript = String.Format(IncludeScriptFormat, "javascript", location, JCodeFileName); Debug.WriteLine(includeScript); Page.RegisterClientScriptBlock(JCodeIncludeScriptKey, includeScript); Debug.WriteLine(JCodeIncludeScriptKey); Debug.WriteLine(includeScript); } //typen auf neu aktualisieren! } protected override void CreateChildControls() { base.CreateChildControls(); } protected override void RenderWebPart(HtmlTextWriter output) { //Ausgabe mit Button output.Write("<br><input class='ms-SPButton' value=\'Klick mich\' type=button onclick=\"Code();\" >"); //output.Write("<\"Code();\">"); //Page.RegisterStartupScript("mycode", includeScript); Debug.WriteLine("ende"); } /* protected override void OnLoad(EventArgs e) { base.OnLoad(e); } */ } }
Ich möchte aus der js Datei myCode.js die funktion Code() aufrufen ohne auf einen Button klicken zu müssenGeändert von Xenolith (09.10.08 um 12:18 Uhr)
-
09.10.08 12:33 #4
- Registriert seit
- Jan 2005
- Ort
- Frankfurt am Main
- Beiträge
- 297
Du hast doch schon fast die Lösung in RenderWebPart stehen. Versuche mal
Code :1
Page.ClientScript.RegisterStartupScript(this.GetType(), "theKey", "Code();", true);
In PageLoad(), das sollte funktionieren - allerdings auch nur dann, wenn deine js-Datei verlinkt ist...http://dirkgoldecker.spaces.live.com
. Microsoft Certified Technology Specialist
. Microsoft Certified Professional Developer
|-> Web Applications
-
Super danke! da hätte ich aber auch selber drauf kommen können naja Betriebsblindheit
Ähnliche Themen
-
Cache-Probleme beim Laden einer Seite von Flash aus
Von greggy80 im Forum Flash PlattformAntworten: 8Letzter Beitrag: 06.11.10, 21:00 -
Funktionsaufruf beim Starten der Seite
Von the_royal im Forum Javascript & AjaxAntworten: 7Letzter Beitrag: 09.07.10, 11:26 -
Beim Laden einer Seite "hakt" animiertes Bild
Von Kai-Behncke im Forum Hosting & WebserverAntworten: 0Letzter Beitrag: 14.11.09, 11:58 -
Neues Fenster öffnen beim laden einer Seite
Von 3Dnavigator im Forum PHPAntworten: 2Letzter Beitrag: 03.07.03, 19:22 -
Popup beim Laden einer Seite?
Von Zeitgeist im Forum Javascript & AjaxAntworten: 4Letzter Beitrag: 24.04.02, 15:59





Zitieren
Login





