使用fileUpload的onChange事件在Gridview中使用__doPostBack的asp:按钮

时间:2015-10-21 07:17:11

标签: javascript c# jquery asp.net gridview

我在gridview中的itemTemplate中有一个asp:按钮,其中绑定了一个fileUpload控件。按照此处的代码 - > Single Click File Upload in ASP.Net

然而,我被困在

 function clickSeverControl() {

        __doPostBack('<%= lnkUpload.ClientID %>', 'OnClick');
    }

因为我的按钮嵌入在gridview中,我不知道如何将它的xxx.ClientID作为__doPostBack的event.target。

以下是我的代码。

使用Javascript:

<script type="text/javascript">
function uploadImage()
{
    document.getElementById("FileUploadControl").click();
}
function confirmUpload()
{
    __doPostBack(<WHAT TO PUT HERE>, 'OnClick');
}
</script>

ASPX:

 <asp:gridview id="gvDirector" runat="server"<asp:TemplateField HeaderText="Signature" itemstyle-width="150" itemstyle-horizontalalign="Center">
     <itemtemplate>
        <asp:Button ID="btnViewSignature" runat="server" Text="View" CommandName="view"
        CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" />
        <asp:FileUpload id="FileUploadControl" runat="server" style="display: none;" onChange="confirmUpload()" />   
        <asp:Button ID="btnUploadSignature" runat="server"  text="Upload" CommandName="upload" OnClientClick="uploadImage(); return false;" OnClick="btnUpload_Click"
        CommandArgument="<%# ((GridViewRow) Container).RowIndex %>"/>                                           
     </itemtemplate> 
 </asp:gridview>  

我尝试使用$("#FileUploadControl"),但服务器端onClick()事件未触发。会欣赏任何输入或路线。谢谢。

以下是我正在努力完成的截图。

enter image description here

一旦用户选择了文件,“上传”按钮就会触发fileUpload控件,上传自动开始,无需额外按钮即可“提交”文件。

P.S我只有一年的干扰.net和C#的经验,如果可能的话,请 ELI5

1 个答案:

答案 0 :(得分:0)

How do I extract the name from HTML collection?

这会产生我在clientID上的上述问题的答案,但__ doPostBack不能很好地解决我原来的问题。

实际上非常简单。如果有人好奇的话,我已经在这里回答了我想做的事情。

FileUpload between onClientClick and onClick