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

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

例如:

@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请求发送到控制器操作:

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

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

和您的控制器动作:

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

    return Json(value);
}

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

在JavaScript中运行方法C# - javascript

打扰一下,我有这种C#asp方法。受保护的无效btnSave_Click(对象发送者,EventArgs e)有谁知道我该如何发送脚本给您?可以办到?。 javascript大神给出的解决方案 是的,那可以做到。为此,您在.aspx.cs页中创建了函数,然后单击保存按钮上的代码将其复制到函数中,然后执行以下步骤。//Call cs method from J…

.NET C#Webbrowser填充输入,不带ID或类名 - javascript

我需要在网络浏览器中填写一个输入,但这不起作用。我认为必须使用name属性来完成,但是怎么做呢?foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input")) { if (login.GetAttribute("name"…

单击选项卡链接时,请专注于每个引导选项卡中的First asp:textbox - javascript

我是开发的新手,并开始开发简单的asp.net应用程序。我正在使用每个都有一些asp标签和文本框的bootstrap选项卡。单击该选项卡时,我要重点关注选项卡内容中的第一个文本框。我搜索了各种答案,但都是针对输入字段的(exp:输入type =“ text”)。找不到适用于ASP文本框的任何内容。任何帮助将不胜感激。谢谢 javascript参考方案 ASP…

禁用和启用复选框上的文本框单击表 - javascript

我已经用数据填充了表格,然后在其中添加了复选框和文本框。下面是我的代码:int count1 = 0; TableCell tc; foreach (TableRow tr in Resource_TBL.Rows) { tr.Cells.Add(tc = new TableCell()); CheckBox cbox = new CheckBox(); c…