- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个 MVC5 Html 扩展来确定屏幕上的按钮是否被禁用。
如下:
public static HtmlString IsButtonEnabled(this HtmlHelper html, bool buttonEnabled)
{
return new HtmlString(buttonEnabled ? "" : "disabled=\"disabled\"");
}
我的cshtml如下:
<div class="col-sm-12">
<a class="btn btn-default btn-block btn-metro" @Html.IsButtonEnabled(Model.IsMyButtonEnabled)
onclick="location.href='@Url.Action("Index","MyController")'">
<img src="~/images/myImage.png"> <span class="h2">My Button</span>
</a>
</div>
该按钮按预期被禁用 - 但是,由于使用 onclick 仍允许单击它。是否可以将我的 Html 扩展与 Html.ActionLink 一起使用?
我意识到我可以很容易地使用页面上的一些js来阻止点击 - 但是,如果可能的话,我想避免这种情况。
更新
扩展方法由屏幕上10个不同的按钮使用。为其中一个按钮生成的标记如下:
<div class="col-sm-12">
<a class="btn btn-default btn-block btn-metro" disabled="disabled" href="/MyController/Index">
<img src="/myApp/images/myImage.png"> <span class="h2">My Button</span>
</a>
</div>
根据下面的 Stephen 评论,我将单击更改为 href - 但是,即使该按钮被禁用,我仍然可以单击它,并且网站导航到指定的 url
最佳答案
您可以将“a”标签更改为“button”标签。 URL 标记并不意味着被禁用。
<div class="col-sm-12">
<button class="btn btn-default btn-block btn-metro" @Html.IsButtonEnabled(Model.IsMyButtonEnabled)
onclick="location.href='@Url.Action("Index","MyController")'">
<img src="~/images/myImage.png"> <span class="h2">My Button</span>
</button>
</div>
关于javascript - 将 Html 扩展与 ActionLink 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43492529/
I want to replace X with glyphicon-trash. 我正在使用 X 作为链接文本。这适用于删除项目。如何用字形替换。 这是我的代码 @Html.ActionLink(
我可以通过 Ajax.ActionLink("Getcustomers","GetCustomers","Customer") 调用 asp.net mvc Controller ; 我可以使用 Ht
假设我有一个用户列表: 用户/Index.cshtml @model IEnumerable @foreach (var user in Model) { @Html
我试图通过 POSTing 而不是 GETting 导航到 MVC 操作。 (该操作是 DELETE,我不希望它可以通过外部链接访问。) 我在由生成的网格中使用链接 Ajax.ActionLink(
Ajax.ActionLink("Link name",....) 可以用复选框代替“链接名称”吗? 如果是这样怎么办? 谢谢, 最佳答案 是的,当然这是可能的。您可以使用标准复选框: @Html.C
我想使用jquery调用actionlink,下面是代码: $("#paycheck").click(function () { if ($("#terms").attr("che
我有两条路线: routes.MapRoute( "route1", "{controller}/{action}/{param1}/{param2}/NotT
我正在使用 bootstrap 将我的元素放在正确的位置,当我尝试将它与来自 asp.net 的 actionlink 一起使用时,它不使用所有行,它只使用文本的大小,我想要使用所有行的元素,以便我可
这个问题在这里已经有了答案: How to use CSS on an Html.ActionLink in C# (2 个答案) 关闭 4 年前。
我想使用 jQuery 创建按钮效果,即 mouse_over、mouse_leave 和 mouse_click。我有使用 visual studio 2012 在 mvc 4 中的 ActionL
我在路由表中有一些预定义的 URL 实际上指向相同的 Controller 和操作,但语言不同。例如 routes.MapRoute( "Contact
我正在尝试创建一个 ActionLink 以从网格中导出数据。网格根据查询字符串中的值进行过滤。这是 url 的示例: http://www.mysite.com/GridPage?Column=Na
如问题所述,是否可以使用包含元素的 ActionLink,如果不能,实现它的最佳方法是什么? 例如,假设我有一个 Span 元素,我希望整个元素成为一个超链接...以下工作:
这是简单的 html: --%> 我想用它们制作 html.actionlink: 我想要没有文字的链接。它不起作用,第一个参数中不允许为 null。图像是正常的短。我如何在没有文本
我使用以下代码来实现排序: @Ajax.ActionLink("Name", "Cause", "Search", new { query = Model.Query, category =
全部, 掌握 ASP.NET MVC。到目前为止,一切都很好,但这个有点疯狂。 我有一个包含超链接属性字典的 View 模型,使用如下: 菜单 = 模型变量 Html.ActionLink(Html.
没有创建我自己的 ActionLink HtmlHelper 有没有办法强制任何 ActionLinks 呈现小写? 更新: 查看以下链接以扩展 RouteCollection 以添加 Lowecas
谁能解释为什么会发生以下情况?以及如何解决,Visual Studio 2010 和 MVC2 结果是 /Product/AddOption?class=lightbox 结果是 /Product
如何向这个@Html.ActionLink 添加一个类?我尝试了很多建议,但到目前为止都没有奏效。 @Html.ActionLink("Physicia
我在 ASP.NET-MVC 应用程序的 View 中使用 Ajax.ActionLink,并且我正在使用 InsertionMode.Replace,但我看到还有一个 ReplaceWith 选项。
我是一名优秀的程序员,十分优秀!