当我想要设置对象属性时,来自输入的未定义值

时间:2016-02-09 12:43:13

标签: javascript c# jquery html asp.net

我已经在c#中定义了模型,但我正在用这样的JS代码创建他......

var m = { myModel : <%= JsonSerialize( new MyModel()) %> };

它有效...我的属性实际上设置为null ...

接下来我需要按输入值设置属性... 例如:

<input type="text" id="name" />
<button type="button" id="btnRead" onclick="read()">Send</button>

JS:

function reloadGrid () {
   m.myModel.Name = $('#name').val();
}

models属性仍然为null并且浏览器提示我出错“无法设置属性'名称'未定义”...但是当我在输入的控制台值中打印时,这样...值已正确打印。

1 个答案:

答案 0 :(得分:0)

查看错误“无法设置属性'名称'未定义”,这意味着m对象的myModel属性未定义。

确保m对象在reloadGrid()函数的范围内,并且myModel拼写正确等等

尝试以下(假设这是一个MVC应用程序)

function reloadGrid () {
        var m = { myModel : @Html.Raw(JsonConvert.SerializeObject(new MyModel())) };       
        m.myModel.Name = $('#name').val();
}