从JavaScript值分配Model属性值

时间:2012-08-08 06:22:03

标签: javascript asp.net-mvc-3

我有一个具有以下定义的模型:

namespace ESimSolChemical.Models
{

    public class Employee
    {        
        public int EmployeeID{ get; set; }
        public string EmployeeName{ get; set; }
        public string Age{ get; set; }
        public string Address{ get; set; }

    }

我有以下JavaScript:

<script type="text/javascript">
    $(function () {
        $('#btnEmployeePiker').click(function () {
            var oParameter = new Object();
            oParameter.MultipleReturn = false;
            var oReturnObject = window.showModalDialog('/Employee/EmployeePiker/', oParameter, 'dialogHeight:470px;dialogWidth:550px;dialogLeft:400;dialogTop:100;center:yes;resizable:no;status:no;scroll:no');           
        });
    });
</script>

我的Javascript oReturnObject包含两个属性,如:

oReturnObject.EmployeeID;
oReturnObject.EmployeeName;

现在我想分配:

@Model.employeeID=  oReturnObject.EmployeeID;

我该如何完成这项任务?

3 个答案:

答案 0 :(得分:8)

您无法使用Javascript设置服务器端值。您可以将这些值绑定到输入字段(如文本框或隐藏字段),然后使用Javascript修改这些输入字段的这些值。

看看这些文章,它可能会帮到你:

答案 1 :(得分:0)

您无法像在JavaScript中那样执行服务器端代码。

您需要以某种方式将更新后的值发布回服务器以进行处理。

看看KnockoutJS,这样做很容易。基本上,您只需将客户端的模型类序列化为JavaScript对象,使用它直到您决定将其保存回来,然后将其作为JSON发送到服务器,这将允许您拥有这样的操作方法

public ActionResult UpdateEmployee(Employee employee)
{
    // Update the database...
    //
}

上面链接的页面有很多教程可以开始。

答案 2 :(得分:0)

这就是我用过的:

@{
   @Convert.ToString("var refID = " + @Model.RefID + ";alert(refID);")
}

并且工作正常。