您还没有相应地调用function。您希望您的 PassToContoller 函数应该在您单击 save 时调用,在您的情况下,您必须使用 btnSave onlick 或 onClick="PassToContoller(@item.Name)" 调用此函数
我在这里向你们展示:
当onClick="PassToContoller(@item.Name)" 排队时:
Razor HTML
<div class="container">
<div class="row">
@foreach (var item in Model)
{
<div class="col-md-4">
<div class="card" style="width: 18rem;">
@*<img src="~/Content/no_foto.png" class="card-img-top" alt="...">*@
<div class="card-body">
<h5 class="card-title">@item.Name</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<div id="textButton">
<a href="~/TrainingType/ListCoach" id="btnSave" class="btn btn-primary">Go to anywhere</a>
<a id="btnSave" class="btn btn-primary">Go to anywhere</a>
<input class="btn btn-primary" type="button" id="btnSave" onClick="PassToContoller(@item.Name)" value="Save" />
</div>
</div>
</div>
</div>
}
</div>
</div>
脚本:
<script>
function PassToContoller(data) {
alert(data);
$.ajax({
type: "GET",
url: '/ListCoachController/ListCoach',
data: { id: data },
success: function (data) {
console.log(data);
window.location.href = '/appUser/ManageAccount';
return data;
},
error: function () {
$("#loader").fadeOut("slow");
console.log("error1");
}
});
}
</script>
输出:
另一种方式 btnSave Onlick:
在这方面你需要做一些修改:
需要引入一个输入类型的文本,它会被隐藏
约束像 <input type="text" id="getValue" value="@item.Name" hidden /> 这样的值,并在你传递隐藏值时
会点击按钮。
另一件事是您的btnSave 似乎您对其他按钮也使用了相同的按钮,因此您的onclick 函数将混淆要触发的事件。所以需要设置unique btn id 现在剩下的和下面一样:
Razor HTML
<div class="container">
<div class="row">
@foreach (var item in Model)
{
<div class="col-md-4">
<div class="card" style="width: 18rem;">
@*<img src="~/Content/no_foto.png" class="card-img-top" alt="...">*@
<div class="card-body">
<h5 class="card-title">@item.Name</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<div id="textButton">
<a href="~/TrainingType/ListCoach" id="btnSave" class="btn btn-primary">Go to anywhere</a>
<a id="btnSave" class="btn btn-primary">Go to anywhere</a>
<input class="btn btn-primary" type="button" id="btnNewSave" value="Save" />
<input type="text" id="getValue" value="@item.Name" hidden />
</div>
</div>
</div>
</div>
}
</div>
</div>
脚本:
@section scripts {
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
<script>
$(document).ready(function () {
$("#btnNewSave").click(function () {
var data = $("#getValue").val();
$.ajax({
type: "GET",
url: '/ListCoachController/AnotherListCoach',
data: { id: data },
success: function (data) {
console.log(data);
window.location.href = '/appUser/ManageAccount';
return data;
},
error: function () {
$("#loader").fadeOut("slow");
console.log("error1");
}
});
});
});
</script>
}
更新:
根据您对评论的新要求,您只需更新您的HTML,如下所示:
<div class="container">
<div class="row">
@foreach (var item in Model)
{
<div class="col-md-4">
<div class="card" style="width: 18rem;">
@*<img src="~/Content/no_foto.png" class="card-img-top" alt="...">*@
<div class="card-body">
<h5 class="card-title">@item.Name</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<div id="textButton">
<a href="~/TrainingType/ListCoach" class="btn btn-primary" onClick="PassToContoller(@item.Name)">Go to anywhere</a>
<a class="btn btn-primary" onClick="PassToContoller(@item.Name)">Go to anywhere</a>
<input class="btn btn-primary" type="button" onClick="PassToContoller(@item.Name)" value="Save" />
<input type="text" id="getValue" value="@item.Name" hidden />
</div>
</div>
</div>
</div>
}
</div>
</div>
注意:您必须从所有<a> 和<button> 中去掉id="btnSave" 并需要替换为
onClick="PassToContoller(@item.Name)" 它会通过你所有的
价值。不管你有多少个周期。
更新评论 Can I do without?:
HTML:
<div class="container">
<div class="row">
@foreach (var item in Model)
{
<div class="col-md-4">
<div class="card" style="width: 18rem;">
@*<img src="~/Content/no_foto.png" class="card-img-top" alt="...">*@
<div class="card-body">
<h5 class="card-title">@item.Name</h5>
<p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
<div id="textButton">
<a href="#" class="btn btn-primary" >Go to anywhere</a>
<a class="btn btn-primary">Go to anywhere</a>
<input class="btn btn-primary" type="button" value="Save" />
<input type="text" id="getValue" value="@item.Name" hidden />
</div>
</div>
</div>
</div>
}
</div>
</div>
脚本:
@section scripts {
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
<script>
function PassToContoller(data) {
alert(data);
$.ajax({
type: "GET",
url: '/UserLog/AnotherListCoach',
data: { id: data },
success: function (data) {
console.log(data);
window.location.href = '/appUser/ManageAccount';
return data;
},
error: function () {
$("#loader").fadeOut("slow");
console.log("error1");
}
});
}
$(document).ready(function () {
$("a").click(function () {
var data = $("#getValue").val();
var callFunc = PassToContoller(data)
});
$(":button").click(function () {
var data = $("#getValue").val();
var callFunc = PassToContoller(data)
});
});
</script>
}
希望它能相应地指导您。您可以使用任何一种方法。