C# 在ASP.NET MVC2中使用普通HTML按钮调用控制器?
我想使用普通HTML按钮来调用ASP.NET MVC2中的控制器,而不是ActionLink,这可能吗?当然可以,只需使用C# 在ASP.NET MVC2中使用普通HTML按钮调用控制器?,c#,asp.net-mvc-2,C#,Asp.net Mvc 2,我想使用普通HTML按钮来调用ASP.NET MVC2中的控制器,而不是ActionLink,这可能吗?当然可以,只需使用Url.Action()将Url呈现给操作 <a href="<%= Url.Action("Action") %>">BLA BLA</a> 或 点击我 通常通过一个按钮,您可以使用javascript调用该操作,或者将其包装成一个表单(或者两者兼而有之) 去 $(函数(){ $(“按钮”)。单击(函数(){ 变量形式=$('fo
Url.Action()
将Url呈现给操作
<a href="<%= Url.Action("Action") %>">BLA BLA</a>
或
点击我
通常通过一个按钮,您可以使用javascript调用该操作,或者将其包装成一个表单(或者两者兼而有之)
去
$(函数(){
$(“按钮”)。单击(函数(){
变量形式=$('form');
$.post(form.attr('action')、form.serialize()、function(msg){
警报(msg);
});
return false;//不要真正提交表单
});
});
点击我
您可能需要使用
助手方法来确定表单的操作
URL
这不需要javascript就可以正常工作,但会得到您想要的外观。
按钮
标记的样式可以比输入
类型的样式多一些,但这取决于您使用的现有样式。它们在功能上完全相同。请不要将javascript嵌入标记中。这是一种不好的/难以维持的练习。另外请注意,如果javascript被关闭或者页面上有javascript错误,这将不起作用。我知道这一点,但只是作为一个示例演示。他说ActionLink(一个元素),但也提到了HTML按钮(一个按钮元素)。因此,为了完整性起见,我添加了这两个选项。您可以将表单的方法指定为get
,然后为submit
按钮指定类型。那么你就根本不需要javascript了。@Garry——这只是一个演示的例子。我可能会用AJAX而不是javascript做一些验证或其他事情,但我想要一些简单的东西。不过,值得注意的是,有更好的方法来实现它。不过,我应该指定类型。如果没有javascript,IE可能无法正常响应。抢手货
<button onclick="javascript: window.location = '<%= Ajax.JavascriptEncode(Url.Action("Action")) %> '">Click me</button>
<% Html.BeginForm( "action", "controller", new { id = Model.ID } )
{ %>
<button type="submit">Go</button>
<% } %>
<script type="text/javascript">
$(function() {
$('button').click( function() {
var form = $('form');
$.post( form.attr('action'), form.serialize(), function(msg) {
alert(msg);
});
return false; // don't really submit the form
});
});
</script>
<form method="get" action="YourUrl">
<button type="submit">Click me</button>
<input type="submit" value="Or click me" />
</form>