Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.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# 单击上载按钮时在数据列表中找不到Id_C#_Asp.net_Updatepanel_Datalist - Fatal编程技术网

C# 单击上载按钮时在数据列表中找不到Id

C# 单击上载按钮时在数据列表中找不到Id,c#,asp.net,updatepanel,datalist,C#,Asp.net,Updatepanel,Datalist,我有一个页面,我正在使用更新面板,数据列表和文件上传我正在使用visual studio 2010 我的文件上传在数据列表中,我将数据列表与动态表绑定以重复文件上传控制 请参见下面的布局图: 在这里,红色突出显示的主上边框显示了重复数据列表,其中我有文件上传控制 现在数据列表在更新面板中,因此文件上载不起作用,因此在数据列表中,我使用了另一个更新面板使文件上载起作用,该面板也正常工作,但在单击绿色添加按钮时,问题开始出现 在中找不到触发器ID为“Upload”的控件 UpdatePanel“U

我有一个页面,我正在使用更新面板,数据列表和文件上传我正在使用visual studio 2010

我的文件上传在数据列表中,我将数据列表与动态表绑定以重复文件上传控制

请参见下面的布局图:

在这里,红色突出显示的主上边框显示了重复数据列表,其中我有文件上传控制

现在数据列表在更新面板中,因此文件上载不起作用,因此在数据列表中,我使用了另一个更新面板使文件上载起作用,该面板也正常工作,但在单击绿色添加按钮时,问题开始出现

在中找不到触发器ID为“Upload”的控件 UpdatePanel“UpdatePanel1”

下面是我的html代码,请记住,我只是给出了出现问题的部分:

<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="Uppanel" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:DataList ID="dtcustomerregistration" runat="server" RepeatDirection="Vertical"
            Width="100%" OnItemCommand="dtcustomerregistration_ItemCommand">
            <ItemTemplate>
                <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                    <ContentTemplate>
                        <label class="col-md-4 control-label" for="Pic">
                            Upload Image:</label>

                        <asp:FileUpload ID="Pic" runat="server" accept="image/gif, image/jpg, image/jpeg, image/png" />

                        <asp:Button ID="Upload" CommandArgument='<%#Eval("uniqueId") %>' CommandName="Edit"
                            runat="server" Text="Upload" OnClick="Upload_Click" />
                        <asp:Label ID="StatusLabel" runat="server" CssClass="requiredvalidate" Text=""></asp:Label>
                        <asp:HiddenField ID="hdimagename" runat="server" Value='<%#Eval("UploadImage") %>' />

                        <asp:Image ID="imgpicuploaded" runat="server" ImageUrl='<%#System.Configuration.ConfigurationManager.AppSettings["ShowImagetemppath"].ToString().Replace("~/","") +Eval("UploadImage").ToString() %>'
                            Height="50px" />
                        </div>
                    </ContentTemplate>
                    <Triggers>
                        <asp:PostBackTrigger ControlID="Upload" />
                    </Triggers>
                </asp:UpdatePanel>
            </ItemTemplate>
        </asp:DataList>
        <asp:ImageButton ID="imgplus" runat="server" ImageUrl="~/Image/Add.png" Height="50px" OnClick="imgplus_Click" />
    </ContentTemplate>
</asp:UpdatePanel>
在上面,我给出了创建动态数据表的完整代码,并将其与数据列表绑定,以便在单击
imgplus
按钮时重复数据列表 但点击按钮后,我收到错误信息:

下面是错误图像。

如何解决此问题?

点击
Imgplus
按钮,我收到数据列表中存在的上传按钮的问题

还有一件事,如果我通常在没有使用Upload button click的情况下单击
ImgPlus
按钮,那么它将重复DataList控件,而不会给出任何问题,但如果我使用了Upload click按钮,DataList中存在,然后在我单击
ImgPlus
按钮后,我收到错误消息:

在中找不到触发器ID为“Upload”的控件 UpdatePanel“UpdatePanel1”


用另一个UpdatePanel向上按钮环绕您的按钮:

<asp:UpdatePanel ID="upButton" runat="server" UpdateMode="Conditional">
    <asp:Button ID="Upload" CommandArgument='<%#Eval("uniqueId") %>' CommandName="Edit"
        runat="server" Text="Upload" OnClick="Upload_Click" />
</ContentTemplate>

然后调用主UpdatePanel
Uppanel.Update()在您的按钮中单击方法
上载\u单击


注意:删除UpdatePanel
ID=“UpdatePanel1”

您遇到的错误是由于以下代码引起的:

<Triggers>
         <asp:PostBackTrigger ControlID="Upload" />
</Triggers>

或者将
UpdatePanel1
UpdateMode
设置为
“始终”

但我在img plus按钮上遇到问题,请尝试该按钮simplyOK,我会尝试并让您知道,但确保您正确阅读了我的问题并准备好了我的问题我收到错误,因为在UpdatePanel“UpdatePanel1”中找不到ID为“Upload”的控件的触发器我尝试了您所说的,但同样的问题即将出现,问题出在imgplus按钮上,而不是Upload按钮您是否尝试过检查呈现的HTML代码以确保按钮具有您认为的ID?首先检查一下,我可以帮你。这里上载id是您的渲染代码,而不是设计器代码。运行您的解决方案并使用Chrome开发工具(例如),检查您的DOM元素。由于有更新面板,它会更改上载按钮的id,因此如何解决此问题。在这种情况下,还有两个更新面板,一个在datalist内,另一个在dataliston外设置AsyncPostBackTrigger上载控件上的文件将找不到。是否尝试删除UpdatePanel1和将触发器设置为AsyncPostBackTrigger?。。将嵌套的UpdatePanel1放在同步PostBackTrigger的第一位,以使上载工作。我试图复制该错误,但没有成功,但是我注意到,当我选择PostBackTrigger+时,设计师没有注意到上载按钮。我发布的链接注意到了一些关于嵌套更新面板和PostBackTrigger的内容。实际上,我正在使用visual studio 2010,它给出了当前问题。当我将此代码复制到VisualStudio2015时,它工作正常,因此我认为我的问题是版本控制
<Triggers>
         <asp:PostBackTrigger ControlID="Upload" />
</Triggers>
<Triggers>
         <asp:AsyncPostBackTrigger ControlID="Upload" />
</Triggers>