MVC3文本框文本更改事件

时间:2012-05-23 10:38:28

标签: asp.net-mvc-3

我有以下场景,使用mvc3:

我有一个数据库表,其中包含RecordID,RecordName和RecordType。显示的是三个文本框,每个文本框对应前面提到的每个字段。

我的问题是,当我在相关文本框中输入RecordID时,我希望能够显示该特定RecordID的RecordName和RecordType。我怎样才能实现这一目标?

1 个答案:

答案 0 :(得分:7)

在视图中:

@Html.TextBoxFor(model => model.RecordId)
@Html.TextBoxFor(model => model.RecordName)
@Html.TextBoxFor(model => model.RecordType)

<script language="javascript">
$('#RecordId').change(function(){
    var recordId = this.value;
    $.getJSON("/MyController/GetRecordById",
        {
            id: recordId
        },
        function (data) {
            $('RecordName').val(data.Name);
            $('RecordType').val(data.Type);
        });
});
</script>

在控制器中:

public JsonResult GetRecordById(int id)
{
    var record = recordRepository.GetById(id);
    var result = new {
                         Name = record.Name,
                         Type = record.Type
                     }

    return Json(result, JsonRequestBehavior.AllowGet);
}