簡體   English   中英

如何將以下href javascript代碼嵌入到asp.net中的按鈕

[英]How to embed following href javascript code to a button in asp.net

我正在創建一個asp.net網站。 它具有文件上傳按鈕。 使用以下代碼可以正常上傳href。 但我想將此代碼嵌入按鈕中。

<a href="javascript:$('#<%=FileUpload1.ClientID%>').fileUploadStart()">Start Upload</a>

這是我要在javascript代碼上方嵌入的按鈕。 我也希望單擊事件到此按鈕。

<input type="button"  value="upload" runat="server"  name="btnBeforeOk" onserverclick="btnBeforeOk_ServerClick" />

這是我上面按鈕的C#代碼

        protected void btnBeforeOk_ServerClick(object sender, EventArgs e)
    {
        //Response.Write("<script type=\"text / javascript\">window.location.href = \"javascript:$('#<%=FileUpload1.ClientID%>').fileUploadStart()\"; </ script > ");
        //Page.ClientScript.RegisterStartupScript(this.GetType(), "myScript", "onlick();", true);
        ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "text", "onlick()", true);
    }

我正在從該按鈕的C#代碼中調用以下javascript函數

<script type="text/javascript">
         function onlick() {
    location.href = "javascript:$('#<%=FileUpload1.ClientID%>').fileUploadStart()"
    alert("Alert works well but above code is not running")
}
            </script>

此代碼的警報部分運行良好。 但是警報上方的那小段href代碼無法正常運行,因為它與asp.net中的'<a href>'標記兼容。 我還嘗試使用“ window.location”和“ windows.location.href”運行該小代碼。 但它不起作用。 我在Google上搜索了2天,做了很多解決方案。 沒有任何效果。

該行代碼不起作用,因為您要做的只是設置location.href,它等於字符串文字的值(將window.loaction.href設置為具有有效url值的字符串的想法是正確的做法),但是在這種情況下,字符串文字不是有效的網址。

它可以在html中內聯,因為該字符串被解釋為javascript,它執行代碼行,並且該代碼行生成一個字符串,該字符串具有所需的url值。 但是,在這種情況下,該行代碼已經在腳本中,因此可以對其進行解釋。

因此,為了使其能夠執行,您需要它不是當前的字符串文字,而應是它自己的實際代碼行。

像這樣:

<script type="text/javascript">
    function onlick() {
        window.location.href = $('#<%=FileUpload1.ClientID%>').fileUploadStart()
    }
</script>

這將對您的jquery選擇器返回的jquery對象執行“ fileUploadStart”函數,即代碼的“ $('#<%= FileUpload1.ClientID%>')”部分。

大概應該返回您想要的URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM