我知道这是不对的,但为了说明问题,我想这样做:

<%= Html.Button("Action", "Controller") %>

我的目标是使一个HTML按钮,将调用我的MVC控制器的动作方法。


当前回答

如果你得到一个错误为“unterminated string constant”,请使用以下razor语法:

<input type="button" onclick="@("location.href='"+ Url.Action("Index","Test")+ "'")" />

其他回答

Razor语法如下:

<input type="button" value="Create" onclick="location.href='@Url.Action("Create", "User")'" />
<button type="button" onclick="location.href='@Url.Action("MyAction", "MyController")'" />

Type ="button"阻止页面提交,而是执行您的操作。

如果你得到一个错误为“unterminated string constant”,请使用以下razor语法:

<input type="button" onclick="@("location.href='"+ Url.Action("Index","Test")+ "'")" />

好的,你基本上需要将动作传递给按钮,并在点击发生时调用它,它不需要在from中,你可以使用HTML onclick on button在按钮被点击时触发它…

<button id="my-button" onclick="location.href='@Url.Action("YourActionName", "YourControllerName")'">Submit</button>

HTML <button>元素只能回发到包含它的表单。

因此,您需要创建一个post到动作的表单,然后在表单中放入一个<button>或<input type="submit" />。