2014-03-06 8 views
8

zu Action Ich versuche Textbox Wert zu schreiben in asp.net Mvc zu Actionwindow.location.href Post Parameter asp.net Mvc

Javascript:

function OnButtonClick() { 
    var data= { 
     TextBox: TextBox.GetValue() 
    }; 
    var PostData= data.TextBox; 

    window.location.href = "Home/MyActionResult?Page=data" + PostData; 
} 

Action

public ActionResult MyActionResult(string PostData) 
{ 
    return view(); 
} 

Immer, wenn ich Daten an Home/MyACtionResult gebe, ist PostData immer null,

Was fehlt mir?

Wie kann ich Textboxwert zu actionresult posten?

+0

location.href ist ein GET, verwenden Ajax – mplungjan

+0

, wenn ich Ajax verwenden, kann ich nicht ändern, url, ich möchte window.location verwenden – user3389856

+0

Natürlich können Sie. Recherchiere. Jquery Geschichte zum Beispiel. Sie müssen entweder Ajax oder ein Formular mit der Methode post verwenden OR ändern Sie den Server, um ein GET zu akzeptieren – mplungjan

Antwort

3

Versuchen mit diesem:

window.location.href = "Home/MyActionResult?Page=data&PostData=" + PostData; 
+0

Sie können nicht mit einem GET schreiben, aber zumindest haben Sie den Parameternamen korrigiert – mplungjan

+0

@mplungjan Die Aktionsmethode ist nicht mit HttpPostAttribute markiert, also nehme ich an, es ist kein Beitrag. – thepirat000

+2

Zählen Sie, wie oft "Post" in der Frage auftritt? – mplungjan

1

dieses Versuchen

var url = '@Url.Action("../Home/MyActionResult")' + '?Page='+data+'&'+PostData; 
window.location.href = url; 
0

Diese Daten vorbei ist ein schlechter Ansatz. Bitte versuchen Sie es mit einem anderen Code-Ansatz. Dies funktioniert nicht für große Daten, URLs, gesicherte Daten.