Javascript I';我在Mvc中使用Ajax发布到控制器,但在foreach中我的var重置为null
因此,我用这段代码用数据库中的帖子来填充我的容器 问题是在foreach im为Like函数向onclick添加ID的过程中。但当我尝试使用它时,它变成了空值。即使chrome上的调用堆栈声明它不是空的。有人知道如何解决这个问题吗 Html:Javascript I';我在Mvc中使用Ajax发布到控制器,但在foreach中我的var重置为null,javascript,ajax,asp.net-mvc,razor,model-view-controller,Javascript,Ajax,Asp.net Mvc,Razor,Model View Controller,因此,我用这段代码用数据库中的帖子来填充我的容器 问题是在foreach im为Like函数向onclick添加ID的过程中。但当我尝试使用它时,它变成了空值。即使chrome上的调用堆栈声明它不是空的。有人知道如何解决这个问题吗 Html: 你可以像这样直接使用 @using (Html.BeginForm()) { foreach (var ctrib in Model) { <p>@ctrib.Message.Content @ctrib.Lik
你可以像这样直接使用
@using (Html.BeginForm())
{
foreach (var ctrib in Model)
{
<p>@ctrib.Message.Content @ctrib.Likes @ctrib.Reports</p>
<a name="link" href="#" onclick="javascript:Like('@ctrib.ID');">Like</a>
}
}
我一开始试过了,但也有同样的问题。
<script type="text/javascript">
function Like(link) {
var MyAppUrlSettings = {
MyUsefulUrl: '@Url.Action("Like", "TimelinePage")'
}
$.ajax({
type: "POST",
url: MyAppUrlSettings.MyUsefulUrl,
data: link,
dataType: "json"
});
}
[HttpPost]
public void Like(int ID)
{
Contribution C = new Contribution(ID);
C.likePost();
RedirectToAction("TimelinePage");
}
@using (Html.BeginForm())
{
foreach (var ctrib in Model)
{
<p>@ctrib.Message.Content @ctrib.Likes @ctrib.Reports</p>
<a name="link" href="#" onclick="javascript:Like('@ctrib.ID');">Like</a>
}
}
function Like(link) {
jQuery.ajax({
url: '@Url.Action("Like", "TimelinePage")',
method: "POST",
cache: false,
data: { Id: link }
}).done(function (result) {
alert(result);
});
}