无法在javascript中设置null的属性“value”

时间:2016-09-15 07:35:07

标签: javascript asp.net asp.net-webpages

我收到以下错误“无法在名为”item_pricecataglog.js“的javascript中设置null的属性'value',代码行

document.getElementById('ctl00_ContentPlaceHolder1_ctl00_hdn_returnboolvalue').value = 'true';

我认为这是因为我的应用程序没有在网页或控件中找到相应的元素。

奇怪的是,元素“hdn_returnboolvalue”在Web控件中声明,引用此java脚本。下面是我的网页控件的片段

<%@ control language="C#" autoeventwireup="true" CodeBehind="EstimateProductcatalogueBind.ascx.cs" Inherits="ePrint.usercontrol.ProductCatalogue.EstimateProductcatalogueBind" %>

<script type="text/javascript" src="<%=strSitepath %>js/item/item_pricecatalog.js"
language="javascript"></script>
<div>
 <asp:HiddenField ID="hdn_kitavailibility" runat="server" Value="0" />
 <asp:HiddenField ID="hdn_returnboolvalue" runat="server" Value="" />
</div>

上面的控件位于弹出窗口内,这是名为“common_popup”的aspx页面。我已将控件添加到弹出的aspx页面中声明的“ContentPlaceHolder1”。

<%@ page language="C#" masterpagefile="~/Templates/popUpMasterPage.master" autoeventwireup="true" CodeBehind="common_popup.aspx.cs" Inherits="ePrint.common.common_popup" title="Untitled Page" enableviewstatemac="false" enableEventValidation="false" theme="Theme1" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <script type="text/javascript" language="javascript" src="<%=strSitepath %>js/Item/general.js?VN='<%=VersionNumber%>'"></script>
   <div>
    <UC:callClass ID="usrCallclass" runat="server" />
   </div>
   <div>
    <asp:PlaceHolder ID="plhDiv" runat="server"></asp:PlaceHolder>
   </div>
  </asp:Content>

下面是我将控件添加到此页面的C#代码片段

            UserControl userControl37 = (UserControl)base.LoadControl("~/usercontrol/ProductCatalogue/EstimateProductcatalogueBind.ascx");
            this.plhDiv.Controls.Add(userControl37);

1 个答案:

答案 0 :(得分:0)

我认为正确的代码应该是(注意更改后的ID):

document.getElementById('ContentPlaceHolder1_PriceCatalog_hdn_returnboolvalue').value = 'true';