2017-12-27 7 views
0

Ich habe ein einfaches Stück HTML-Code, der C# -Funktion auf einen Tastendruck aufrufen soll, aber es sieht aus wie die URL ist schlecht, kann mir jemand mit Razor Syntax helfen? Bisher habe ich folgendes:Verwenden von Razor zum Aufruf von C# -Funktion

<div class="test1"> 
<div class="col-md-4"> 
    <h1>Some button</h1> 
    <input type="button" value="Create" onclick="location.href='@Url.Action("addAdress", "AdressController")'" /> 
    <p></p> 
</div> 

Und hier ist der Controller, die angeblich etwas zu tun, der Name des Controllers ist AdressController

private void addAdress() 
    { 
     Adress a = new Adress(); 

     a.Number = "1"; 
     a.Distance = 100; 

     Dictionary<string, object> queryDict = new Dictionary<string, object>(); 
     queryDict.Add("Number", a.Number); 
     queryDict.Add("Distance", a.Distance); 

     var query = new Neo4jClient.Cypher.CypherQuery("CREATE (n:Adress {Number:'" + a.Number + "', Distance:'" + a.Distance + "'}) return n", 
                 queryDict, CypherResultMode.Set); 

     List<Adress> adrese = ((IRawGraphClient)client).ExecuteGetCypherResults<Adress>(query).ToList(); 

     /* 
     foreach (Adress a1 in adrese) 
     { 
      MessageBox.Show(a1.Number); 
     } 
     */ 
    } 
+0

Versuchen Sie diese: Ryu

+4

Sie haben uns Ihre" Controller-Methode "gezeigt, aber es ist keine Aktionsmethode. Es scheint so, als müssten Sie [die Grundlagen von MVC überprüfen] (https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/). Sie sollten ein ActionResult zurückgeben, Ihre Methode sollte öffentlich sein und Sie sollten Routing dafür konfiguriert haben. – mason

+0

Nun href wird eine URL erwarten, wenn Sie das nicht wollen, dann verwenden Sie preventDefault() und cont. mit Ihrer Operation –

Antwort

1

Ihr Controller-Methode ist private, versuchen Wechsel zu public

Sunges

Wenn Sie vorhaben, location.href auf Klick zu ändern, wickeln nur die Eingabe in einem Link:

<a href='@Url.Action("addAdress", "Adress")'> 
    <input type="button" value="Click Me"> 
</a> 
+1

Es muss auch "Adresse" 'nicht' "AddressController" ' –

+0

Ja, das war die Lösung, die ich brauchte, sehr geschätzt –

Verwandte Themen