我发现当我调用 record.create() 时,有时它会成功,有时它会抛出一个错误,指出不存在这样的方法,即使记录对象的属性设置得当。
我是否错误地使用了创建方法?可能是我遗漏了一些关于 JavaScript 自定义对象语法的东西。
<script language="javascript" type="text/javascript">
var record = {
RecordID : null,
CustomerID : null,
CompanyID : null,
create : function() {
var obj = new Object();
obj.RecordID = "";
obj.CustomerID = "";
return obj;
}
};
function pageLoad(sender, eventArgs) {
{
//*******SUCCEEDS********
record = record.create()
}
function RadGrid1_RowSelected(sender, args) {
currentRowIndex = args.get_gridDataItem().get_element().rowIndex;
var dataItem = args.get_gridDataItem().get_dataItem();
recordId = dataItem["Record_ID"];
if (tableView.get_selectedItems().length == 1) {
record = record.create();
record.RecordID = dataItem["Record_ID"];
record.CustomerID = dataItem["Customer_ID"];
setValues();
}
else if (tableView.get_selectedItems().length > 1) {
record= record.create();//****FAILS ALWAYS even when record object has non-null properties*******
}
if ($.inArray(recordId, recordIds) == -1) {
recordIds.push(recordId);
}
}
</script>
更新:这对我有用。 我没有在“记录”全局对象上使用 create 方法,而是使用了一种简单的方法。每次我想在记录对象上调用 create() 方法时,只需调用自定义方法“resetRecord”。这样我就没有错误,我的逻辑也很完美。
function resetRecord() {
record.RecordID = "";
record.CustomerID = "";
record.CompanyID = "";
}