Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asp:标签从本地主机上的HiddenField获取值,但在实时版本上不获取_C#_Asp.net_Webforms - Fatal编程技术网

C# Asp:标签从本地主机上的HiddenField获取值,但在实时版本上不获取

C# Asp:标签从本地主机上的HiddenField获取值,但在实时版本上不获取,c#,asp.net,webforms,C#,Asp.net,Webforms,我正在用asp.net开发一个网站。在其中一个页面上,我初始化了一个包含多个隐藏字段的转发器 在转发器外部,在页面加载期间,我使用从特定转发器项目中的隐藏字段中获取的文本值初始化标签。在localhost中进行测试不会导致任何问题。然而,在live版本中,我注意到其中一个标签没有显示任何值,尽管链接到它的HiddenField确实包含所需的值 以下是相关页面中的代码示例: aspx: <form id="detailForm" runat="server"> <asp:

我正在用asp.net开发一个网站。在其中一个页面上,我初始化了一个包含多个隐藏字段的转发器

在转发器外部,在页面加载期间,我使用从特定转发器项目中的隐藏字段中获取的文本值初始化标签。在localhost中进行测试不会导致任何问题。然而,在live版本中,我注意到其中一个标签没有显示任何值,尽管链接到它的HiddenField确实包含所需的值

以下是相关页面中的代码示例:

aspx:

<form id="detailForm" runat="server">
    <asp:ScriptManager ID="ScriptManagerGlobal" runat="server" EnableScriptGlobalization="true" />
    <table>
        <tr>
            <th>Code d'Activation</th>
            <td>
                <asp:Label ID="L_Code_Activation" runat="server" />
            </td>
        </tr>
        <tr>
            <th>Dernière action </th>
            <td>
                <asp:Label ID="L_Libelle_Actuel" runat="server" />
            </td>
        </tr>
    </table>
    <br />
    <asp:UpdatePanel ID="UP_KSS" runat="server" UpdateMode="Always">
        <ContentTemplate>
            <table>
                <asp:Repeater ID="RepeaterContainer" runat="server">
                    <HeaderTemplate>
                        <tr>
                            <th>Date de Requète
                            </th>
                            <th>Action
                            </th>
                        </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <asp:HiddenField ID="HF_Id_kss_container" runat="server" Value='<%#Eval("id_kss_container") %>' />
                        <tr>
                            <td>
                                <asp:HiddenField runat="server" ID="CodeActivationHidden" Value='<%# Eval("CodeActivation") %>' />
                                <asp:Label ID="L_DateRequest" runat="server" Text='<%# LaDate(Eval("DateRequest")) %>' />
                            </td>
                            <td>
                                <asp:HiddenField runat="server" ID="LibelleHidden" Value='<%# (LOperation(Eval("Libelle"))) %>' />
                                <asp:Label ID="L_Libelle" runat="server" Text='<%#(LOperation(Eval("Libelle"))) %>' />
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:Repeater>
            </table>
        </ContentTemplate>
    </asp:UpdatePanel>
</form>
问题是:当在localhost中运行时,页面工作正常,这里的两个标签都显示了预期值。但是,在live网站上运行时,只有“L_Libelle_Actuel”标签显示正确的值

“L\U代码激活”标签仅转换为id为=“L\U代码激活”的空白范围。奇怪的是,在检查结果页面时,我可以看到链接到此标签的Hiddenfield中存在期望值

有人知道为什么会发生这个问题,为什么它不会发生在本地主机上吗?我已经搜索了很多地方,但没有看到任何人有同样的问题,也没有能够在本地环境中重现它。如果你知道是什么引起的,你知道如何修复它吗

谢谢,祝你今天愉快

编辑:忘了说了,虽然这似乎是一件小事,但我在查看navigator的开发控制台时没有收到错误或警告。就像标签从未初始化过一样

编辑2:下面是结果的样子。我将实际数据替换为“[value]”,因为它是合理的信息

以下是在这两种情况下生成的标签和hiddenfield的外观。我再次用“[value]”替换了预期的数据

本地主机:

<span id="L_Code_Activation">[value]</span> 
...
<input type="hidden" name="RepeaterContainer$ctl01$CodeActivationHidden" id="RepeaterContainer_CodeActivationHidden_0" value="[value]">
[值]
...
直播网站:

<span id="L_Code_Activation"></span>
...
<input type="hidden" name="RepeaterContainer$ctl01$CodeActivationHidden" id="RepeaterContainer_CodeActivationHidden_0" value="[value]">

...

编辑3:问题实际上来自服务器本身,而不是代码。我应该先检查一下,很抱歉…

为什么不在PageLoad上发出ajax请求?在服务器端更新数据并不总是一个好主意

所以我建议你: -在aspx.cs文件中,添加一个初始化模型并返回模型JSON流的函数。 -在js文件中添加一个ajax请求,该请求将调用您的函数(aspx.cs)。根据它的结果,您应该能够刷新组件


您可以参考以下内容:

为什么不在PageLoad上发出ajax请求?在服务器端更新数据并不总是一个好主意

所以我建议你: -在aspx.cs文件中,添加一个初始化模型并返回模型JSON流的函数。 -在js文件中添加一个ajax请求,该请求将调用您的函数(aspx.cs)。根据它的结果,您应该能够刷新组件


你可以这样说:

实际上,请忽略这个问题。问题不是源于代码,而是源于服务器本身。我刚开始没有检查问题的根源,很抱歉浪费了您的时间。

实际上,请忽略这个问题。问题不是源于代码,而是源于服务器本身。我刚开始没有检查问题的根源,很抱歉浪费了您的时间。

由于您检索代码激活值的方式与检索libelle值的方式不同,我想知道这是否与数据相关。代码激活正在从最后一个repeater项中检索,可能是本地记录少于out live?你能给我们看看渲染的输出吗?嗨!虽然我有几个问题要澄清这个问题,但我并不认为代码中有任何错误。您要将多少项数据绑定到中继器?您是从第一行取实际值,从最后一行取激活值?另外,您没有在页面加载中检查Page.IsPostBack,这是不是出于设计,您想在每次回发时重新进行数据绑定?@Gabe我尝试从中继器的第一个、最后一个或任何其他项检索信息。没有任何变化,因此这不是问题的根源。@Esko项目数据绑定的数量不同,从单个条目到6个或更多条目。我确实想在每次回发时进行数据绑定,这是我没有在页面加载中检查回发的原因。由于检索代码激活值的方式与检索libelle值的方式不同,我想知道这是否与数据相关。代码激活正在从最后一个repeater项中检索,可能是本地记录少于out live?你能给我们看看渲染的输出吗?嗨!虽然我有几个问题要澄清这个问题,但我并不认为代码中有任何错误。您要将多少项数据绑定到中继器?您是从第一行取实际值,从最后一行取激活值?另外,您没有在页面加载中检查Page.IsPostBack,这是不是出于设计,您想在每次回发时重新进行数据绑定?@Gabe我尝试从中继器的第一个、最后一个或任何其他项检索信息。没有任何变化,因此这不是问题的根源。@Esko项目数据绑定的数量不同,从单个条目到6个或更多条目。我确实想在每次回发时进行数据绑定,这是我没有在页面加载中检查回发的原因。我不确定我是否理解,但这可能是因为我以前从未使用过Ajax。如果我做对了,我应该发出Ajax请求来调用初始化标签的codebehind函数?(initLabel)这样做与在pageload方法中简单调用my函数有什么区别?ASP有一个页面生命周期,在页面加载时初始化对象。在此期间,页面将显示其组件,因此在页面加载时很难初始化组件(请参阅:)。这就是我建议您通过ajax请求的原因。及
<span id="L_Code_Activation"></span>
...
<input type="hidden" name="RepeaterContainer$ctl01$CodeActivationHidden" id="RepeaterContainer_CodeActivationHidden_0" value="[value]">