2010-01-29 60 views
0

我有下面的代码,直到最近,工作得很好,花花公子!内容占位符JavaScript对象预期错误

tbxProdAC.Attributes.Add("onclick", "$('#" + GridView1.ClientID + "').remove(); 
$('#" + radProdAC.ClientID + "').attr('checked', true); 
$('#" + ddlBuyer.ClientID + "').val('--Choose Buyer--'); 
$('#" + ddlSub.ClientID + "').val('--Choose Sub Category--'); 
$('#" + ddlProd.ClientID + "').val('--Choose Product--');"); 

但是,自从我介绍了内容占位符(从主页面)的概念以来,我一直在重复获取Object Expected错误。

现在我明白了为什么发生这种情况,asp.net正在修订的控制名称顾及CPH即$('#ctl00_ContentPlaceHolder1_radBuyer').attr('checked', true);

如何去reslving这个问题,切实做到“重命名”我的asp.net控制考虑到这一点?

回答

0

一对夫妇选择...

之一,像<%= radProcAC.ClientID%脚本替换控件的名称>。这有些混乱,但具有易于实现的优点。

二,将ClientIDs写入javascript并使用RegisterClientScript将其输出到您的页面中。这样在客户端你就会有这样的事情:

var radProdACClientID = 'ctl00_ContentPlaceHolder1_radBuyer'; 
var ddlBuyerClientID = 'ctl100_ContentPlaceHolder1_ddlBuyer'; 

那么显然你会使用这些增值经销商,而不是原始的控件名称。

无论如何,这是一个非常常见的问题,你可以找到各种各样的关于它与谷歌搜索有关的文章。