Using ASP.NET MVC 5 and Razor view engine, is there a way to get the values of input fields before posting the data to the server, processing them and then sending the processed data instead?
For example:
@using (@Html.BeginForm("ViewPage", "Home",FormMethod.Post)) {
@Html.TextBox("Field1")
@Html.Hidden("Field2");
<input type="submit"id="HiddenButton" value="Submit" style="display:none" />
<input type="button"id="VisibleButton" value="Submit" />
}
and now :
<script type="text/javascript">
document.ready(function() {
$("#VisibleButton").click(function() {
var Temp =$("#Field1").val()
@{
// C# Area Processing the Temp, by for example calling an extension method and
assigning the new value to the Hidden Field
}
$("#HiddenButton").trigger("click")
})
})
</script>
I'd like to do this , because I wanna encrypt a text before sending it to the server and I've already made my encryption method in C#.
Mark Devid
15-Jan-2015This is possible but the processing should happen on the client using javascript:
If you want the processing to happen on the server for some reasons, you could send it as an AJAX request to a controller action:
And your controller action: