将值从javascript传递给MVC控制器

时间:2015-09-05 20:44:17

标签: javascript asp.net-mvc kendo-ui telerik

在我的MVC Web应用程序中,我在LyncUser Create视图上有一个按钮,需要获取' AddressBookNBo'并将其传递给我的Staff控制器中的findEmpSurname。然后,此操作使用AddressBookNo从Staff模型中检索Surname值。然后,Surname值用于自动填充LyncUser创建视图上的Surname值。

当我调试应用程序并停止控制器操作时,我可以看到AddressBookNo为空。你能告诉我这里做错了吗。

员工中的findEmpSurname操作......

[HttpGet]
public JsonResult FindEmpSurname(int? AddressBookNo)
{

    var staffDB = new StaffEntities();
    var surnames = staffDB.Staff.AsQueryable();
    if (AddressBookNo != null)
    {
        surnames = surnames.Where(p => p.AddressBookNo == AddressBookNo);
    }

    return Json(surnames.Select(p => new { Surname = p.Surname }), JsonRequestBehavior.AllowGet);
}

Telerik Kendo UI MVC按钮,单击时调用PopTextBox javascript。

@(Html.Kendo().Button()
    .Name("findEmpSurname")
    .Content("Lookup Surname")
    .HtmlAttributes(new { type = "button" })
    .Events(ev => ev.Click("PopTextBox"))
 )

获取AddressBookNo值的PopTextBox javascript,将其传递给控制器​​,并使用返回的值设置Surname值。

function PopTextBox()
{
    var data = { AddressBookNo: $("AddressBookNo")[0].value };
    $.ajax({
        url: '@Url.Action("FindEmpSurname","Staff")',
        type: 'GET',
        dataType: 'json',
        data: data,
        cache: false,
        success: function (result) {
            var surnameTextbox = document.getElementById('Surname');
            surnameTextbox.value = result;
        }
    })    
}

0 个答案:

没有答案