C# 单击上载按钮时在数据列表中找不到Id
我有一个页面,我正在使用更新面板,数据列表和文件上传我正在使用visual studio 2010 我的文件上传在数据列表中,我将数据列表与动态表绑定以重复文件上传控制 请参见下面的布局图: 在这里,红色突出显示的主上边框显示了重复数据列表,其中我有文件上传控制 现在数据列表在更新面板中,因此文件上载不起作用,因此在数据列表中,我使用了另一个更新面板使文件上载起作用,该面板也正常工作,但在单击绿色添加按钮时,问题开始出现 在中找不到触发器ID为“Upload”的控件 UpdatePanel“UpdatePanel1” 下面是我的html代码,请记住,我只是给出了出现问题的部分:C# 单击上载按钮时在数据列表中找不到Id,c#,asp.net,updatepanel,datalist,C#,Asp.net,Updatepanel,Datalist,我有一个页面,我正在使用更新面板,数据列表和文件上传我正在使用visual studio 2010 我的文件上传在数据列表中,我将数据列表与动态表绑定以重复文件上传控制 请参见下面的布局图: 在这里,红色突出显示的主上边框显示了重复数据列表,其中我有文件上传控制 现在数据列表在更新面板中,因此文件上载不起作用,因此在数据列表中,我使用了另一个更新面板使文件上载起作用,该面板也正常工作,但在单击绿色添加按钮时,问题开始出现 在中找不到触发器ID为“Upload”的控件 UpdatePanel“U
<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>
然后调用主UpdatePanelUppanel.Update()代码>在您的按钮中单击方法上载\u单击
注意:删除UpdatePanelID=“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>