Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 将HTML按钮转换为ActionLink_Asp.net Mvc_Helpers_Actionlink - Fatal编程技术网

Asp.net mvc 将HTML按钮转换为ActionLink

Asp.net mvc 将HTML按钮转换为ActionLink,asp.net-mvc,helpers,actionlink,Asp.net Mvc,Helpers,Actionlink,我有一个html按钮设置,并具有一系列必需的属性,我想将这些属性转换为基于文本的链接。此外,为了熟悉html助手和intellesense,我想看看如何将这些属性嵌入到ActionLink中: <input type="button" id="RemoveRegistration_Submit<%=row.ID %>" value="Remove From Cart" onclick="$('#Step2_RemoveRegistrationForm input[name=

我有一个html按钮设置,并具有一系列必需的属性,我想将这些属性转换为基于文本的链接。此外,为了熟悉html助手和intellesense,我想看看如何将这些属性嵌入到ActionLink中:

<input type="button" id="RemoveRegistration_Submit<%=row.ID %>" 
value="Remove From Cart" 
onclick="$('#Step2_RemoveRegistrationForm input[name=id]').val('<%=row.ID %>'); $('#Step2_RemoveRegistrationForm').submit();" 
align="right" />


没有javascript,thx按钮不能像链接一样工作。
一般来说,这是一个糟糕的做法(搜索引擎无法正确索引页面等)

我建议你使用锚定标签,让它们看起来像一个按钮

但若你们真的需要它,这篇文章提供了一个答案

编辑:

对不起。我的回答有点太快了

这并不完全是您要问的(HtmlHelper不涉及),但这就是我解决这个问题的方法:

鉴于此,我将定义锚点(没有HREF的锚点通过W3验证):

在css中:

 a {cursor:pointer;} /*anchors without href by default haven't pointer*/
我相信在HtmlHelpers中使用javascript太麻烦了

EDIT2:


锚文本在标记内定义。我总是混淆这一点。看来targetSource()也是。试着重写它:event.targetSource()=>event.target。

应该没那么难……但我认为你指的是Html.Link,因为ActionLink意味着你需要从路由表生成链接

<%= Html.Link("Remove from Cart", "#", new {onclick = "#Step2_RemoveRegistrationForm input[name=id]').val('<%=row.ID %>'); $('#Step2_RemoveRegistrationForm').submit();"}) %>

  • 参数1:linkText
  • 参数2:href
  • 参数3:htmlAttributes

    公共静态字符串链接(此HtmlHelper HtmlHelper、字符串链接文本、字符串href、对象htmlAttributes) {

    TagBuilder TagBuilder=new TagBuilder(“a”){InnerHtml=linkText;}

    tagBuilder.MergeAttributes(HtmlatAttributes)

    tagBuilder.MergeAttributes(“href”,href)

    返回tagBuilder.ToString(TagRenderMode.Normal)

    }


不要忘了打开视图,以便使用扩展方法。

我正在寻找相反的结果…我希望按钮看起来像链接。我已经按原样尝试了代码,但中间没有一些文本&结束时,我看不到任何东西是如何变为可见/可点击的。我已经添加了:现在从购物车中删除一个链接是可见的,但单击后不会触发任何内容。thxSorry-你是对的。添加文本-在开始和结束标记之间添加文本。没有任何事情发生,因为您没有添加javascript,文档准备好时没有调用它,或者文档中有错误(我没有检查它,只是写下了我是如何记住它的)。问题的关键是理解如何将上述代码转换为ActionLink。我能让您扩展“链接”与“ActionLink”的用法吗?Link抛出错误:“…不包含“Link”的定义,也不包含扩展方法“Link”。。。Intellesense未列出“链接”。我正在研究MVC的发布版本-这是Futures的一部分吗?这是一个简单的扩展方法。我会在我的岗位上。
 a {cursor:pointer;} /*anchors without href by default haven't pointer*/
<%= Html.Link("Remove from Cart", "#", new {onclick = "#Step2_RemoveRegistrationForm input[name=id]').val('<%=row.ID %>'); $('#Step2_RemoveRegistrationForm').submit();"}) %>