【问题标题】:Content Placeholder Javascript Object Expected Error内容占位符 Javascript 对象预期错误
【发布时间】:2010-01-29 10:49:38
【问题描述】:

我有以下代码,直到最近,它工作得很好而且花花公子!

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);

我该如何解决这个问题,有效地“重命名”我的 asp.net 控件以考虑到这一点?

【问题讨论】:

    标签: asp.net javascript master-pages contentplaceholder


    【解决方案1】:

    几个选项...

    一,用 之类的脚本替换控件名称。这有点混乱,但具有非常容易实现的优点。

    二,将 ClientID 写入 javascript 并使用 RegisterClientScript 将其输出到您的页面中。所以在客户端你会有这样的东西:

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

    那么显然你会使用这些变量而不是原始控件名称。

    无论如何,这是一个非常普遍的问题,你可以通过谷歌搜索找到各种关于它的文章。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      • 2020-04-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多