错误:名称'RGGSTAcCode'在当前上下文中不存在

问题描述 投票:0回答:2

在其中一个网页中,我在RadGrid控件内有FormView即,如下所示:

<asp:FormView ID="fvIPRForm" runat="server" DefaultMode="Insert" DataKeyNames="RequestID"
  DataSourceID="odsIPRForm" EnableModelValidation="True" OnItemInserting="fvIPRForm_ItemInserting"
  OnDataBound="fvIPRForm_DataBound" OnItemUpdating="fvIPRForm_Updating" OnItemCommand="fvIPRForm_ItemCommand">

<%-- Create New IPR--%>
<InsertItemTemplate>

<telerik:RadMultiPage ID="RadMultiPage5" runat="server" SelectedIndex="0" Width="100%">
<telerik:RadPageView ID="RadPageView4" runat="server" Width="100%">
<telerik:RadAjaxPanel ID="RadAjaxPanel4" runat="server">

//RadGrid
<telerik:RadGrid ID="RGGSTAcCode" runat="server" AutoGenerateColumns="false"....>
 //other code

<telerik:GridTemplateColumn UniqueName="AccountCode" HeaderText="Account Code">
  <ItemTemplate>
    <asp:Label ID="lblAcCode" Text='<%# Eval("AccountCode") %>' runat="server"></asp:Label>
  </ItemTemplate>
  <EditItemTemplate>
    <asp:Label ID="lblAcCode2" runat="server" Text='<%# Eval("AccountCode") + " - " + Eval("AccountDescription")%>' Visible="false"></asp:Label>     

    <telerik:RadComboBox ID="ddlAccountCode" runat="server" Height="200" Width="260"
    AllowCustomText="true" onclienttextchange="OnClientTextChange">
    </telerik:RadComboBox>

    <asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click" OnClientClick="ButtonClicked()" UseSubmitBehavior="true" />&nbsp;                                      
  </EditItemTemplate>
</telerik:GridTemplateColumn>

</telerik:RadGrid>

</telerik:RadAjaxPanel>
</telerik:RadPageView>
</telerik:RadMultiPage>

</InsertItemTemplate>

<%-- Edit IPR--%>
<EditItemTemplate>

<telerik:RadMultiPage ID="RadMultiPage5" runat="server" SelectedIndex="0" Width="100%">
<telerik:RadPageView ID="RadPageView4" runat="server" Width="100%">
<telerik:RadAjaxPanel ID="RadAjaxPanel4" runat="server">

//RadGrid
<telerik:RadGrid ID="RGGSTAcCode" runat="server" AutoGenerateColumns="false"....>
 //other code

<telerik:GridTemplateColumn UniqueName="AccountCode" HeaderText="Account Code">
  <ItemTemplate>
    <asp:Label ID="lblAcCode" Text='<%# Eval("AccountCode") %>' runat="server"></asp:Label>
  </ItemTemplate>
  <EditItemTemplate>
    <asp:Label ID="lblAcCode2" runat="server" Text='<%# Eval("AccountCode") + " - " + Eval("AccountDescription")%>' Visible="false"></asp:Label>     

    <telerik:RadComboBox ID="ddlAccountCode" runat="server" Height="200" Width="260"
    AllowCustomText="true" onclienttextchange="OnClientTextChange">
    </telerik:RadComboBox>

    <asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click" OnClientClick="ButtonClicked()" UseSubmitBehavior="true" />&nbsp;                                      
  </EditItemTemplate>
</telerik:GridTemplateColumn>

</telerik:RadGrid>

</telerik:RadAjaxPanel>
</telerik:RadPageView>
</telerik:RadMultiPage>

</EditItemTemplate>

 <%-- View IPR--%>
<ItemTemplate>

<telerik:RadMultiPage ID="RadMultiPage5" runat="server" SelectedIndex="0" Width="100%">
<telerik:RadPageView ID="RadPageView4" runat="server" Width="100%">
<telerik:RadAjaxPanel ID="RadAjaxPanel4" runat="server">

//RadGrid
<telerik:RadGrid ID="RGGSTAcCode" runat="server" AutoGenerateColumns="false"....>
 //other code

<telerik:GridTemplateColumn UniqueName="AccountCode" HeaderText="Account Code">
  <ItemTemplate>
    <asp:Label ID="lblAcCode" Text='<%# Eval("AccountCode") %>' runat="server"></asp:Label>
  </ItemTemplate>
  <EditItemTemplate>
    <asp:Label ID="lblAcCode2" runat="server" Text='<%# Eval("AccountCode") + " - " + Eval("AccountDescription")%>' Visible="false"></asp:Label>   

    <telerik:RadComboBox ID="ddlAccountCode" runat="server" Height="200" Width="260"
    AllowCustomText="true" onclienttextchange="OnClientTextChange">
    </telerik:RadComboBox>

    <asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click" OnClientClick="ButtonClicked()" UseSubmitBehavior="true" />&nbsp;                                      
  </EditItemTemplate>
</telerik:GridTemplateColumn>

</telerik:RadGrid>

</telerik:RadAjaxPanel>
</telerik:RadPageView>
</telerik:RadMultiPage>

</ItemTemplate>

</asp:FormView>

现在,我尝试获得RadGrid-EditItemTemplate-Button控件在JavaScript中进行显示,以根据用户在RadComboBox中输入的text长度将其显示为true / false。

下面是我的JavaScript:

<script lang="javascript" type="text/javascript">
        function OnClientTextChange(sender, eventArgs) {
            //alert("You typed " + sender.get_text());

            var len = sender.get_text().length;
            alert(len);

            var form = $find("<%#RGGSTAcCode.ClientID%>").get_masterTableView();
            alert(form);

        }
</script>

当我运行网页时,我总是低于错误

名称“ RGGSTAcCode”在当前上下文中不存在

我尝试如下更改JavaScript代码:

var form = document.getElementById('<%=fvIPRForm.FindControl("RGGSTAcCode").ClientID%>'); 
var masterTable = form.get_masterTableView();
alert(masterTable);

但是我在“警报”中得到了[object Object]。我的代码有什么问题?

编辑

尝试以下解决方案,如果/其他情况下,未禁用/启用除按钮以外的所有其他功能:

function onTextChange(sender, args) {
                //alert("You typed " + sender.get_text());
                var len = sender.get_text().length;
                alert(len);

                var comboID = sender.get_id();
                var btnSearchID = comboID.replace("ddlAccountCode", "btnSearch");
                alert("Alert 1: " + btnSearchID); //getting : contentplaceholder_fviIPRForm_RGGSTAcCode_btnSearch

                var btnCtrl = $get(btnSearchID);
                alert("Alert 2: " + btnCtrl); //getting : [object HTMLInputElement]

                if (len > 5) 
                {
                    alert("greater");

                    btnCtrl.set_enabled(true);
                    btnsearch.set_enabled(true); // enable search button                    
                }
                else 
                {
                    alert("less");

                    btnCtrl.set_enabled(false);
                    btnsearch.set_enabled(false); // disable search button                   
                }               
            }

在其中一个网页中,我在FormView控件内部拥有RadGrid,即如下所示:

javascript asp.net telerik radgrid
2个回答
0
投票

这可能是您想要的答案。...不是最好的,但是正在工作。.


0
投票

以下代码根据我的要求可以正常工作:

© www.soinside.com 2019 - 2024. All rights reserved.