c# - 在客户端处理文本输入

标签 c# javascript asp.net asp.net-mvc razor

使用 ASP.NET MVC 5 和 Razor View 引擎,有没有办法在将数据发布到服务器之前获取输入字段的值,处理它们,然后发送处理后的数据?

例如:

@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" />    
}

现在:

<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>

我想这样做,因为我想在将文本发送到服务器之前对其进行加密,并且我已经在 C# 中制定了加密方法。

最佳答案

这是可能的,但处理应该使用 javascript 在客户端上进行:

$("#VisibleButton").click(function() {
    var Temp = $("#Field1").val();

    // process Temp here using javascript
    Temp = 'some new value';

    // set the processed value back to the input field
    $("#Field1").val(Temp);

    $("form").submit();
});

如果您出于某种原因希望在服务器上进行处理,您可以将其作为 AJAX 请求发送到 Controller 操作:

$("#VisibleButton").click(function() {
    var temp = $("#Field1").val();

    $.ajax({
        url: '@Url.Action("SomeAction")',
        data: { value: temp },
        success: function(result) {
            $("#Field1").val(result);
            $("form").submit();
        }
    });
});

以及您的 Controller 操作:

public ActionResult SomeAction(string value)
{
    // do your processing here 
    value = "some new value";

    return Json(value);
}

关于c# - 在客户端处理文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24974018/

相关文章:

javascript - 使用 session 状态将日期从一个 asp 表单传输到另一个 asp 表单的输入字段

asp.net - 对临时 ASP.NET 文件的频繁访问被拒绝

c# - 如何使用 UpdateProgress 控件显示等待符号?

c# - Page.User.Identity.Name 在子域的页面上为空

c# - 在 MVC 2 中,如何使用 C# 确定服务器上是否存在文件?

javascript - 谷歌地图API加载灰色 map 而不是 map 图像

javascript - 无法让 String.prototype 在工厂中工作

c# - 远程服务器返回错误 : (415) Unsupported Media Type

c# - 如何编写不同平台的应用程序? Linux、Mac、Windows 和移动平台

javascript - HTML 元素也为 crossDomain 请求发送 cookie?