2009-06-15 6 views
2

Ich bin mit ASP.NET MVC und Microsoft AJAX einer AJAX-Form mit dieser folgenden Syntax zu erstellen:Absenden Programmatically eine Microsoft AJAX Form

using (Ajax.BeginForm()) { ... } 

Dies funktioniert gut, wenn der Benutzer auf eine Schaltfläche zum Senden klickt. Ich muss das Formular jedoch auch programmgesteuert übermitteln. Das Problem ist, funktioniert die Art und Weise MS AJAX (aus Gründen, die mich entkommen) ist, dass es die Aktion in dem onsubmit Attribute einreichen setzt stattdessen ein Ereignis der Registrierung:

<form onsubmit="Sys.Mvc.AsyncForm.handleSubmit(..." 
    method="post" action="/Search/SearchForClients"> 

Der Grund, warum dies ein Problem ist, dass, wenn Sie Verwenden Sie jQuery zum programmgesteuerten Senden eines Formulars (z. B. $('form').submit()), der Inhalt des Attributs onsubmit wird nicht aufgerufen.

Zum Glück fand ich eine Problemumgehung zu diesem site, die Sie im Grunde sagt, um den Inhalt des onsubmit Attribut eval und als Event-Handler hinzu:

Also, meine Frage ist: Gibt es Sicherheits Probleme, auf die ich achten sollte, wenn ich das mache? Es scheint, dass es für mich OK sein sollte, aber ich möchte sicher sein, bevor ich anfange, meinem Code Evals hinzuzufügen.

Antwort

2

Der Benutzer kann Ihre Seite auf der Client-Seite mit einem Tool wie Firebug ändern und einen beliebigen eval() - Funktionsaufruf hinzufügen, aber dies kann die Sicherheit der Website in keiner Weise beeinträchtigen.

+0

Ok danke, das war ziemlich genau was ich dachte, aber ich wollte sicherstellen, dass ich nichts übersehen habe. – cdmckay