我有一个具有以下定义的模型:
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 :(得分: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);")
}
并且工作正常。