1 c# razor .net-core asp.net-core
我想使用按钮来运行ac#方法该怎么做?现在如果我制作一个按钮
<button type="button" onclick="@class.method()" >execute method</button>
Run Code Online (Sandbox Code Playgroud)
它只是在页面加载时执行该方法,但在单击按钮时不会执行该方法。
这可以使用标准表单或ajax 表单来完成。
为按钮添加asp-page-handler属性并指定相关方法名称,并在后端创建带有 OnPost 前缀的相关方法。
<form method="post">
<button type="button" asp-page-handler="RunMethod">execute method</button>
</form>
Run Code Online (Sandbox Code Playgroud)
后端方法:
<form method="post">
<button type="button" asp-page-handler="RunMethod">execute method</button>
</form>
Run Code Online (Sandbox Code Playgroud)
直接在表单属性中使用data-ajax-url="?handler=RunMethod",或者您可以使用脚本将相关方法处理程序分配给表单,通过这种方法,您可以在同一 ajax 表单中使用多个按钮:
<form method="post" id="myForm"
data-ajax="true"
data-ajax-method="post"
data-ajax-loading="#loading"
data-ajax-failure="failed"
data-ajax-update="#updateMsg">
<button type="submit" id="RunMethod">execute method</button>
</form>
@section Scripts{
<partial name="_ValidationScriptsPartial" />
<script src="~/lib/jquery-ajax-unobtrusive/dist/jquery.unobtrusive-ajax.min.js"></script>
<script>
failed = function (xhr) {
alert('Status: {xhr.status}, Status text: {xhr.statusText}');
}
$("#RunMethod").on("click", function () {
$("#myForm").attr("data-ajax-url", "?handler=RunMethod");
});
});
</script>
}
Run Code Online (Sandbox Code Playgroud)
后端方法:
public IActionResult OnPostRunMethod()
{
//do whatever...
}
Run Code Online (Sandbox Code Playgroud)
请参阅此处的示例
| 归档时间: |
|
| 查看次数: |
3808 次 |
| 最近记录: |