2016-07-22 5 views
0

Ich habe eine Klasse als x.cs und es gibt eine FunktionKlasse Funktion Verwendung HTML-Seite

public string telefonReplace(string tel) 
    { 
     tel = tel.Replace("(", ""); 
     tel = tel.Replace(")", ""); 
     tel = tel.Replace(" ", ""); 

     return tel; 
    } 

, wenn ich es auf page.aspx.cs genannt

x func = new x(); 

func.telefonReplace("string value"); 

Das kann ich verwenden aber ich möchte es auf HTML-Seite wie verwenden;

<div><%# func.telefonReplace(Eval["someting"])%> <div> 

Aber ich kann diese Funktion nicht aufrufen. Wie kann ich es schaffen?

+0

Sie es als [Seite Methode] aussetzen _could_ (https://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.enablepagemethods (v = vs .110) .aspx) aber warum fügst du nicht einfach eine JavaScript-Funktion mit dieser Logik hinzu? – khlr

+0

Ich kenne kein JavaScript. @khlr –

+0

Haben Sie eine schnelle Online-Suche. Du wirst es herausfinden :-) Es ist kein Hexenwerk, das in eine js-Funktion zu bringen. – khlr

Antwort

1

Der Grund, warum dies nicht funktioniert, ist, weil HTML auf der Client-Seite arbeitet, während Ihre in C# geschriebenen Funktionen auf dem Server laufen, also müssen Sie Ihren HTML-Funktionsaufruf mit dem dahinter liegenden Code verknüpfen ein Ereignis in html wie der Klick auf eine Schaltfläche oder etwas ähnliches, hier ein Beispiel:

<div id="Replace" OnMouseOver="<%# func.telefonReplace(Eval["someting"]) %>" runat="server"> 

<a href="#" runat="server" onServerClick="MyFuncion" /> 

Dies sollte den Anruf an Ihre Funktion machen. Ein anderer Ansatz, wenn Sie den Aufruf Ihrer Funktion nicht mit einem Benutzerereignis verknüpfen möchten, besteht darin, javaScript zum Ausführen Ihrer Funktionalität beim Laden der Seite zu verwenden. Dazu gibt es eine Menge Dokumentation im Internet.

hoffe, das hilft