[英]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.