【问题标题】:Make checkbox as a link?将复选框作为链接?
【发布时间】:2011-06-16 16:44:09
【问题描述】:
我希望 ASP.NET MVC 中的 html.checkbox() 作为链接到动作控制器(GET 而不是 POST)。
问题:
是否可以让html.checkbox() 充当“actionlink”而不是在不使用 Javascript 和 JQuery 或任何其他插件的情况下转到 FormCollection?
【问题讨论】:
标签:
asp.net-mvc
asp.net-mvc-2
checkbox
【解决方案1】:
这在任何框架中都是不可能的,因为复选框只是静态输入元素。它们无法自行触发任何类型的操作,因此需要 javascript 和事件处理程序。
您可以尝试制作一个方法为 GET 的表单,但它仍然必须去某个地方。我想您可以执行一个操作来处理复选框的各种状态,然后路由到正确的页面,但是您会仍然需要通过让用户单击提交来提交此表单(再次因为单击复选框触发操作的唯一方法是使用 javascript)
【解决方案2】:
您还可以使用 CSS 和类似复选框的图像来伪造复选框。
<a href="yourUrl" class="someClassThatIncludesYourCheckbox">text goes here</a>
如果您需要将其显示为选中或未选中,您将使用两个具有两个不同复选框的图像的类。
【解决方案3】:
我怀疑这在没有 javascript 的情况下是可能的。
除了按钮和链接之外,实际上没有任何控件会改变它们在 DOM 中的值。
然而,向您的复选框添加一个 onclick 来执行任何操作(包括 GET 请求)是相当简单的。