Javascript 尝试更改类型=";按钮“;超链接

Javascript 尝试更改类型=";按钮“;超链接,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,以下代码适用于“我的按钮”,单击该按钮时会显示图像: <input type="button" onclick='javascript:showImg("<%# FieldValue %>")' /> 我想将其更改为超链接“显示”,但以下代码不起作用 <asp:HyperLink ID="displayImg" runat="server" NavigateUrl='javascript:showImg("<%# FieldValue %>")'&

以下代码适用于“我的按钮”,单击该按钮时会显示图像:

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

我想将其更改为超链接“显示”,但以下代码不起作用

<asp:HyperLink ID="displayImg" runat="server" NavigateUrl='javascript:showImg("<%# FieldValue %>")'>Preview</asp:HyperLink>
预览
它抛出错误: JavaScript运行时错误:参数无效


有什么帮助吗?

您不应该使用
NavigateUrl
属性,这是一个URL。。。使用以下命令:

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

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

在最后一个选项中,它将始终发布

简单地说,选择最好的方法来完成它,它们都是一样的。

或者

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

问题是,当它位于服务器标记(asp:hyperlink)内时,将无法正确解析它。

下面是一个正确的示例,用于在HiperLink NavigateUrl中绑定某些值:
NavigateUrl=“javascript:showImg(“”)”

FYI:setting“javascript:”因为
onclick=“javascript:
中的协议与{EventName}上的所有协议一样冗余属性需要JavaScript内容。您是否尝试过在浏览器中“查看源代码”以查看传递到JavaScript函数中的内容?它是传递字符串还是文本?我的感觉是,您不需要“刚刚添加了3个可以执行的操作示例”…您只需在当前代码中使用
onclick=…
,然后设置
NavigateUrl
#
“即使您想使用它,也只需在代码隐藏文件中添加一个runat=“server”,然后您就可以使用它的ID找到该控件“-这不正确-将不会按预期进行分析。它将给出一个文本值。@geedubb他应该使用
,或者如果在控件内,则使用该控件的
Eval
Bind
属性,但在他问题中,没有说明他在控件内。你在假设情况,没有必要否决我的答案,因为它是正确的,只要问OP他为什么使用
#
,让他正确提问…@balexandre感谢你花时间写出来,警报可以很好地处理这个问题,但当我尝试插入onClientClick='javascript:showImg(“”)时,我看的不是警报'>它告诉我JavaScript运行时错误:参数无效。我想在需要时显示一张图片clicked@John在您的回答中,没有提到什么是
FieldValueString
,这是页面的属性吗,这是控件的属性吗?当我们在集合对象内部导航时,通常使用
,例如,
GridView
中的行,但在您的问题中没有提到这一点,为此,我需要指出您应该使用
。感谢您的回复,但仍然收到JavaScript运行时错误:无效参数。我正在输入错误数据绑定方法,如Eval()、XPath()和Bind()只能在数据绑定控件的上下文中使用。感谢您的回复。我正在使用预览,但仍会收到运行时错误Remove onclick。你不需要它。谢谢你的帮助,但它仍然给我那个错误。我做错了什么?
<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>
 <a ID="displayImg" onclick='showImg("<%= FieldValue %>")'>Preview</a>