ActionLink内部按钮标记在Firefox中不起作用

时间:2012-07-02 16:40:43

标签: html asp.net-mvc-3 firefox

此代码在Chrome中运行良好,但在Firefox中不起作用。如果<button>标记已删除,则可在Firefox中使用。

我有什么办法可以让它在Firefox中运行吗?

<button>
     @Html.ActionLink("Continue","Index","AlternateName")
</button> 

3 个答案:

答案 0 :(得分:1)

哦不,<a><button>内无效。根据HTML规范,这是无效的标记。当您编写损坏的标记时,您得到的是未定义的行为,此外,用户代理之间可能会有所不同,顺便说一句,这就是您正在观察的内容。

为了使这项工作,只需修复你的标记。您不能指望浏览器正确解释无效的内容,除非您编写自己的浏览器。

我不知道你的场景是什么,但我想你必须从这个按钮中移除锚点。如果您无法控制生成的标记(因为例如您正在使用某些第三方组件,它会吐出此无效标记)作为最后的手段,您可以使用javascript / jquery在创建DOM后操作DOM来移动锚点从这个按钮中取出,这样你就不会有如此破碎的东西了。

答案 1 :(得分:0)

我没有将动作链接包装在按钮标签中,而是在样式表中格式化按钮标签,而是像这样在actionLink中添加了一个css类。

@ Html.ActionLink(“添加地址”,“创建”,“地址”,null,新{@class =“actionLinkBut​​ton”})

答案 2 :(得分:0)

在mvc中的Hyperlink标记内添加Button,编写Controller和动作方法

用于传递任何参数: