簡體   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