Asp.net mvc 将HTML按钮转换为ActionLink
我有一个html按钮设置,并具有一系列必需的属性,我想将这些属性转换为基于文本的链接。此外,为了熟悉html助手和intellesense,我想看看如何将这些属性嵌入到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=
<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();"}) %>