我有一个ASP.NET Core Razor pPages项目。我可能会使用按钮为我编写脚本。
我有这个HTML标记:
<body>
<div id="container"></div>
<div id="progress" style="display:none">
<h4>Loading...</h4>
</div>
</body>
这个脚本:
function GetData() {
$.ajax({
type: 'GET',
url: './Index?handler=ListOfPhoto',
data: { "pageindex": pageIndex, "pagesize": pageSize },
dataType: 'json',
success: function (data) {
if (data != null) {
for (var i = 0; i < data.length; i++) {
var row = data[i];
var html = '<img src="/Photos/' + row.idUser + '/' + row.imageName + '" class="img-responsive" />';
html += '<h2>' + row.name + '</h2>';
html += '<form method="POST"> <button type="submit" asp-route-data="foo" asp-page-handler="Way">Way</button> </form>';
$("#container").append(html);
}
pageIndex++;
}
},
beforeSend: function () {
$("#progress").show();
},
complete: function () {
$("#progress").hide();
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
}
});
但是这个按钮不起作用:
html += '<form method="POST"> <button type="submit" asp-route-data="foo" asp-page-handler="Way">Way</button> </form>';
处理程序方法:
public void OnPostWay(string data)
{
}
有没有人有任何想法,为什么它不起作用?
答案 0 :(得分:0)
你的问题是你尝试追加不是html的html,但它是一个标签助手。该框架将采用asp-route-data和asp-page-handler来生成按钮的形成。
在您的示例中,您必须自己生成编码,因此您必须使用以下代码替换您的按钮。
html += '<form method="POST"> <button type="submit" formaction="/YourPageName?data=foo&handler=Way">Way</button> </form>';