2012-08-08 55 views
3

我有如下定義的模型:從JavaScript值分配模型的屬性值

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; 

我該如何完成此任務?

+0

這是邪惡的... – Yasser 2012-08-08 06:25:33

回答

0

您無法在JavaScript中執行類似於服務器端的代碼。

您需要以某種方式將更新的值發回服務器以處理它們。

看看KnockoutJS,它使這樣的事情變得非常簡單。基本上,您只需將客戶端的模型類序列化爲JavaScript對象,然後使用它,直到您決定將其保存回來,然後將其作爲JSON發送到服務器,這將允許您使用這種操作方法

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

上面鏈接的頁面有很多教程開始。

0

這是我曾經用過:

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

及其工作正常。