调用MVC控制器和Action方法的HTMLbutton
我知道这是不对的,但为了说明我想这样做:
<%= Html.Button("Action", "Controller") %>
我的目标是制作一个HTMLbutton,将调用我的MVC控制器的操作方法。
没有必要使用一个表格,除非你想发布的行动。 inputbutton(不提交)将做的伎俩。
<input type="button" value="Go Somewhere Else" onclick="location.href='<%: Url.Action("Action", "Controller") %>'" />
剃刀语法在这里:
<input type="button" value="Create" onclick="location.href='@Url.Action("Create", "User")'" />
<button type="button" onclick="location.href='@Url.Action("MyAction", "MyController")'" >
type =“button”阻止页面提交。 而是执行你的行动。
您可以使用Url.Action来指定生成URL到控制器操作,所以您可以使用以下任一项:
<form method="post" action="<%: Url.Action("About", "Home") %>"> <input type="submit" value="Click me to go to /Home/About" /> </form>
要么:
<form action="#"> <input type="submit" onclick="parent.location='<%: Url.Action("About", "Home") %>';return false;" value="Click me to go to /Home/About" /> <input type="submit" onclick="parent.location='<%: Url.Action("Register", "Account") %>';return false;" value="Click me to go to /Account/Register" /> </form>
尝试这个:
@Html.ActionLink("DisplayText", "Action", "Controller", route, attribute)
这应该适合你。
这就是你可以如何将你的表单转移到Razor中的特定控制器和操作方法。
<input type="submit" value="Upload" onclick="location.href='@Url.Action("ActionName", "ControllerName")'" />
build立在上面的几个答案,你可以这样做:
<button onclick="location.href='@Url.Action("ActionName", "ControllerName")'" />
HTML <button>
元素只能回发到包含它的表单。
因此,您需要创build一个表单,然后在表单中放置一个<button>
或<input type="submit" />
。
如果您以“未终止的string常量”的forms获取错误,请使用以下剃刀语法:
<input type="button" onclick="@("location.href='"+ Url.Action("Index","Test")+ "'")" />
在控制器中执行操作时,请使用
return View("Index");
要么
return RedirectToAction("Index");
其中Index.cshtml(或生成操作的页面)页面已被定义。 否则,您可能会遇到“视图或其主人没有find…”的错误。
来源: https : //blogs.msdn.microsoft.com/aspnetue/2010/09/17/best-practices-for-asp-net-mvc/
所以,我正在使用剃刀,但是这也可以使用。 我基本上是在一个链接中包装一个button。
<a href="Controller/ActionMethod"> <input type="button" value="Click Me" /> </a>
尽pipeonclick方法,你也可以使用formaction如下:
<button type="submit" id="button1" name="button1" formaction='@Url.Action("Action", "Controller")'>Save</button>
最好使用这个例子
<a href="@Url.Action("Register","Account", new {id=Item.id })" class="btn btn-primary btn-lg">Register</a>
如果您在主页(“/ Home / Index”),并且想要调用pipe理控制器的索引操作,则以下操作适用于您。
<li><a href="/Admin/Index">Admin</a></li>
好的,你基本上需要传递动作到button,并在点击发生时调用它,它不需要在一个from,你可以使用HTML onclick
在button上点击button时触发它…
<button id="my-button" onclick="location.href='@Url.Action("YourActionName", "YourControllerName")'">Submit</button>