javascript
  • jquery
  • asp.net
  • 2013-01-08 30 views 0 likes 
    0

    下面的代碼工作爲我的按鈕,顯示點擊時的圖像:試圖改變類型=「按鈕」超級鏈接

    <input type="button" onclick='javascript:showImg("<%# FieldValue %>")' /> 
    

    我想這個更改爲超鏈接「顯示」,但下面的代碼不工作。

    <asp:HyperLink ID="displayImg" runat="server" NavigateUrl='javascript:showImg("<%# FieldValue %>")'>Preview</asp:HyperLink> 
    

    它拋出的錯誤: 的JavaScript運行時錯誤:無效的參數。

    有幫助嗎?

    +0

    FYI:設置 「的javascript:」 作爲'的onclick =「JavaScript的內部協議: '在{EventName}屬性上都是多餘的es期待JavaScript內容。 – scunliffe

    +0

    你剛剛在瀏覽器中嘗試過「查看源代碼」以查看傳入JavaScript函數的內容嗎?它傳遞一個字符串還是一個文字?我的感覺是,你不需要 JonRed

    回答

    1

    你不應該使用NavigateUrl財產,這對一個URL ...使用:

    <asp:HyperLink ID="displayImg" runat="server" 
         PostBackUrl="#" 
         onclick="showImg('<%# FieldValue %>');return false;"> 
         Preview</asp:HyperLink> 
    

    當你使用ASP.NET控件,你需要堅持他們做了什麼,但記得,你總是可以使用默認的HTML控件,在這個例子:

    <input type="button" onclick="showImg('<%# FieldValue %>')" value="Preview" /> 
    

    即使你想利用這一點,在隱藏文件中的代碼,只需添加一個runat="server",然後你可以使用它的發現控制ID


    這裏有3種方式做這件事的:

    <a href="#" onclick="alert('hi!')">Preview 1</a> 
    
    <asp:HyperLink runat="server" NavigateUrl="#" onclick="alert('hi!')">Preview 2</asp:HyperLink> 
    
    <asp:LinkButton runat="server" PostBackUrl="#" OnClientClick="alert('hi!')">Preview 3</asp:LinkButton> 
    

    這將使:

    <a href="#" onclick="alert('hi!')">Preview 1</a> 
    
    <a onclick="alert('hi!')" href="#">Preview 2</a> 
    
    <a onclick="alert('hi!');" href='javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$ctl01", "", false, "", "#", false, true))'>Preview 3</a> 
    

    ,其中最後一個選項,它會永遠POST。

    簡單,選擇最好的方式來完成它,他們都做同樣的事情。

    +0

    謝謝,但是這只是加載一個目錄列表 – John

    +0

    剛剛添加了3個你可以做的例子......你可以簡單地在當前代碼中使用'onclick = ...'並將'NavigateUrl'設置爲'#'。 「 – balexandre

    +0

    」如果你想使用它,在你的代碼隱藏文件中,只需添加一個runat =「server」,然後你可以使用它的ID來找到控件「 - 這是不正確的 - 不會解析<%#FieldValue%>如預期。它會給一個字面值。 – geedubb

    0

    或者......

    <a ID="displayImg" onclick='showImg("<%= FieldValue %>")'>Preview</a> 
    

    問題是,<%= fieldValue方法%>將不能正確時,它的服務器標籤內解析(ASP:超鏈接)

    +0

    感謝您的回覆,但仍然收到JavaScript運行時錯誤:無效的參數。 – John

    +0

    我gettint錯誤數據綁定方法如Eval(),XPath()和Bind()只能用於數據綁定控件的上下文中。 – John

    0

    這裏是正確的榜樣當你要綁定在HiperLink NavigateUrl一些值: NavigateUrl = 「JavaScript的:showImg( '<%#fieldValue方法%>')」

    +0

    感謝您回覆我使用')」onClick ='showImg(「<%#FieldValueString% >「)'>預覽 但仍然產生運行時錯誤 – John

    +0

    刪除onclick。你不需要它。 –

    +0

    謝謝你的幫助,但它仍然給我這個錯誤。我究竟做錯了什麼? – John

    相關問題