获取剃须刀文本框的值并附加值

时间:2018-10-17 03:56:52

标签: asp.net-mvc razor

我想将文本框的值传递给隐藏字段

@Html.TextBoxFor(m => m.FirstName)
@{
   var emailSubject = the value of @Html.TextboxFor( m => m.FirstName) + "Thank you for Contancting Us"
 }
@Html.Hidden(ThankyouNote, emailSubject)

如果我使用此代码

@Html.TextBoxFor(m => m.FirstName)
@{
   var emailSubject = Model.Firstname + "Thank you for Contancting Us"
 }
@Html.Hidden(ThankyouNote, emailSubject)

由于用户未在文本框中输入任何值,因此我收到Model.Firstname为null的错误消息。因此,我想获取文本框的值以将其附加到隐藏字段中,而无需返回到控制器。

1 个答案:

答案 0 :(得分:0)

当文本框值更改(因为代码在服务器端运行)而

Model.Firstname仍然为空时,客户端更改不会立即反映到服务器端代码。

如果您想在文本框值同时更改时将文本追加到隐藏字段中,请改用客户端keyup(或onkeyup)事件:

JS(jQuery)

$('#FirstName').keyup(function () {
    var text = $(this).val();

    var emailSubject = text + "Thank you for Contacting Us";

    $('#ThankyouNote').val(emailSubject);
});

注意:,您可以使用change / onchange事件,但是该事件将在文本框失去焦点而不是用户开始键入字符时触发。

工作示例:.NET Fiddle Demo