SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




javascript im asp aufrufen

Unbeantwortet Dieser Beitrag hat 12 Antworten

Ohne Rang
519 Beiträge
donSharepoint erstellt 26 Nov. 2012 11:29
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

hallo .

kann mir jemand sagen wie man javascript im asp aufrufen kann? so wie ich das mache ist es irgendwie nicht korrekt. bekomme exception.

hier der code.

<script type="text/javascript">
  function password() {

    var pw = prompt("Bitte Passwort eingeben","");

    if (pw == "weiter")
    {
      window.location.href = "seite.htm";
      onload = onlick();
    }

    else
    {
      alert("Falsches Passwort");
    }

</script>
<asp:Table ID="Table1" runat="server">
<asp:TableRow>
<asp:TableCell>
<asp:DropDownList ID="DropDownList1" runat="server" Height="17px" Width="192px" AppendDataBoundItems="true">
    <asp:ListItem Text="- Auswahl -" Value="-1" Selected="True" />
</asp:DropDownList>
</asp:TableCell>
</asp:TableRow>
<asp:TableRow>
<asp:TableCell HorizontalAlign="Center">
<asp:ImageButton ID="Button1" runat="server" Height="78px"
    ImageUrl="http://us.cdn4.123rf.com/168nwm/scanrail/scanrail1104/scanrail110400059/9371938-red-alert-button.jpg"
    onclick="javascript:password();" Width="86px" />
</asp:TableCell>
</asp:TableRow>


Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Nov. 2012 12:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="donSharepoint"]bekomme exception[/quote]

Es ist immer gut, wenn man die auch angibt. Woher sollen wir sonst wissen, welche Exception es ist?

Dein Fehler liegt beim Aufruf des Scripts. Über das onlcik-Attribut gibt man bei serverseitigen Controls die serverseitige Methode an. JavaScript ist aber clientseitig. Setze den Aufruf in das OnClientClick-Attribut. Und füge hinter dem Funktionsaufruf noch ein return false; ein.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
519 Beiträge
donSharepoint Als Antwort am 26 Nov. 2012 12:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

hi andi.

das problem war nur das ich statt onClickClient die onClick funktion benutzt habe und das war nicht korrekt.

Also ich habs fast ! :)

Kannst du mir bitte nur noch sagen wie ich über JS meine C# funktion onClick()  aufrufen kann ? Danke,.

<script type="text/javascript">
  function password() {

    var pw = prompt("Bitte Passwort eingeben","");

    if (pw == "2012")
    {
            // hier aufruf funktion onClick() ???

    }

    else
    {
      alert("Falsches Passwort");
    }

</script>

Ohne Rang
519 Beiträge
donSharepoint Als Antwort am 26 Nov. 2012 12:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

reicht vielleicht ein return true ????

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Nov. 2012 12:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="donSharepoint"]Kannst du mir bitte nur noch sagen wie ich über JS meine C# funktion onClick()  aufrufen kann ?[/quote]

Gar nicht. Du bringst da etwas durcheinander. JavaScript ist immer clientseitig, d.h. es wird auf dem Rechner des Benutzers ausgeführt nachdem das HTML fertig geladen ist. ASP.NET-Code ist immer serverseitig, d.h. es wird auf dem SharePoint-Server ausgeführt bevor die Seite als HTML gerendert und an den Client ausgelifert wird.

Um das zu Vermischen gibt es diverse Ansätze. Stichwort Ajax. Beschreibe doch mal, was genau Du eigentlich erreichen möchtest.

PS: eine Passwortabfrage in JavaScript hat keinen Sinn, weil die dahinterstehende Prüfung immer im Quelltext der Seite nachvollziehbar ist.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
519 Beiträge
donSharepoint Als Antwort am 26 Nov. 2012 12:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ja du hast recht ! keine gute idee ...

also was ich machen will ist einfach nur ein JS prompt fenster dazwischen schalten der über eine passwort abfrage dann meine c# code ausführt ! und das ganze so einfach wie möglich realisieren !

wie kann ich so ein prompt fester so easy wie möglich dazwischen schalten?

Ohne Rang
519 Beiträge
donSharepoint Als Antwort am 26 Nov. 2012 12:46
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

oder wie ruf ich über C# einen prompt fenster  auf  ???

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Nov. 2012 12:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Gleiches Problem wie oben erklärt: Server <-> Client

Baue doch einfach ein ganz normales ASP.NET-Formular. Du kannst es ja in einem modalen Dialog darstellen und dazu das mit SharePoint gelieferte Framework benutzen: SP.UI.ModalDialog

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
519 Beiträge
donSharepoint Als Antwort am 26 Nov. 2012 14:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

hi andi.

ich versuchs über eine jS postback methode zu realisieren ! sharepoint schmeißt ein exception :

 

An error occurred during the compilation of the requested file, or one of its dependencies. The type or namespace name 'function' could not be found (are you missing a using directive or an assembly reference?)

was fürn assembly muss ich im header einfügen???

 

 
 <%@ assembly Name="$SharePoint.Project.AssemblyFullName$" %>
<%@ assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebControls" Tagprefix="SharePoint" %>
<%@ Register Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.Utilities" Tagprefix="Utilities" %>
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" Tagprefix="asp" %>
<%@ import Namespace="Microsoft.SharePoint" %>
<%@ Register Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.WebPartPages" Tagprefix="WebPartPages" %>
<%@ control AutoEventWireup="true" CodeBehind="VisualWebPart1UserControl.ascx.cs" Inherits="VisualWebPartProject2.VisualWebPart1.VisualWebPart1UserControl" Language="C#" %>

 <script type="text/javascript" runat="server">
      function password() {

          var pw = prompt("Bitte Passwort eingeben", "");

          if (pw == "2012") {

              return true;
          }

          else {

              alert("Passwort ist nicht korrekt !");
          }
      }

</script>

 

<asp:Table ID="Table1" runat="server">
<asp:TableRow>
 
<asp:TableCell>
<asp:DropDownList ID="DropDownList1" runat="server" Height="17px" Width="192px" AppendDataBoundItems="true">
    <asp:ListItem Text="- Auswahl -" Value="-1" Selected="True" />
</asp:DropDownList>
</asp:TableCell>
</asp:TableRow>

 

<asp:TableRow>
<asp:TableCell HorizontalAlign="Center">
<form runat="server">
<asp:ImageButton ID="Button1" runat="server" Height="78px"
    ImageUrl="http://us.cdn4.123rf.com/168nwm/scanrail/scanrail1104/scanrail110400059/9371938-red-alert-button.jpg"
    OnClientClick="return password()" OnClick="onClick" Width="86px" />
</form>
</asp:TableCell>
</asp:TableRow>

 

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 26 Nov. 2012 15:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du mußt überhaupt nichts einfügen. Das Problem ist das hier:

[quote user="donSharepoint"]<script type="text/javascript" runat="server">[/quote]

Du kannst JavaScript nicht mit runat="server" versehen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
519 Beiträge
donSharepoint Als Antwort am 26 Nov. 2012 15:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ok bis fast am ziel :)  code überarbeitet ! eingefügt. SP schmeißt exception :

The "VisualWebPart1" Web Part appears to be causing a problem. A page can have only one server-side Form tag.

sagt dir das was?? :(

 

Ohne Rang
163 Beiträge
Markus Sallmutter Als Antwort am 26 Nov. 2012 15:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

lass doch einfach mal das <form> tag weg, ich glaube das wird automatisch generiert.

Wenn du dir den Quelltext des Webparts anzeigen lässt im Browser findest du vielleicht mehr darüber heraus

Ohne Rang
519 Beiträge
donSharepoint Als Antwort am 26 Nov. 2012 15:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

perfekt ! danke markus ! danke andi :)