繁体   English   中英

(C# - GridView) 在代码隐藏中的 LinkBut​​ton_Click 上打开隐藏的 FileUpload 对话框

[英](C# - GridView) Open hidden FileUpload Dialogue on LinkButton_Click in Code Behind

我创造了这个LinkButton里面GridView

<asp:LinkButton ID="LinkButtonOpenFile" CssClass="fa fa-upload" runat="server" OnClick="LinkButtonOpenFile_Click"></asp:LinkButton>

我的 GridView之外,我创建了一个FileUpload

<asp:FileUpload ID="FileUpload1" runat="server" Visible="false"/>

我试图让我的LinkButton使用 Javascript(服务器端和客户端)打开FileUpload对话。 非他们触发。 是因为我的LinkButton在我的GridView吗?

我试过的例子:;

客户端和服务器端 JS:

function openFile(){
        $("#FileUpload1").click();
        }

protected void LinkButtonOpenFile_Click(object sender, ImageClickEventArgs e)
    {
        Page.ClientScript.RegisterStartupScript(GetType(), "Javascript", "openFile()", true);
    }

有关如何解决此问题的任何建议?

更新:也试过这个

<asp:LinkButton ID="LinkButtonOpenFile" CssClass="fa fa-upload" runat="server" OnClientClick="openFile();return false;"></asp:LinkButton>

JS:

 function openFile(){
    $("#FileUpload1").click();
    }

我刚刚发现这个代码片段对我有很大帮助:

在你的 html 中做:

<html>

  <head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
  </head>

  <body>
    <span class="file"><!--diesen span kannst du stylen und ist dann anklickbar-->
      Anhänge auswählen
      <input type="file" />
    </span>
  </body>

</html>

将此添加到您的CSS:

.file {
    position: relative;
    overflow: hidden;
}
.file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    font-size: 100px;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

你很高兴去:-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM