フォームに ajax を追加したい。主なビューは次のとおりです。
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
// here I display each post from Posts collection
@foreach (var post in Model.Posts)
{
<div>
<div>
<strong>
Title: @post.Title
</strong>
</div>
<div>@post.Text</div>
<div>Posted by: @post.User.UserName</div>
<div>Posted Date: @post.CreatedDate</div>
@{ var membershipUser = Membership.GetUser(); }
@if (membershipUser != null)
{
var providerUserKey = membershipUser.ProviderUserKey;
if (providerUserKey != null && post.CreatedBy == (Guid) providerUserKey)
{
<div style="display: none; color: red;" id="postEditLoading">Loading..</div>
<p id="postEdit">
// EditPost method returns edit view asynchronously
@Ajax.ActionLink("Edit", "EditPost", new {id = post.PostId, @class = "averageLink"},
new AjaxOptions {UpdateTargetId = "postEdit", LoadingElementId = "postEditLoading", LoadingElementDuration = 3000})
@Html.ActionLink("Delete", "DeletePost", new {id = post.PostId}, new {@class = "averageLink"})
</p>
}
}
この奇妙なことを除いて、すべてが機能します: EditPost メソッドによって返されるフォームは、最初の投稿を編集するか最後の投稿を編集するかに関係なく、最初の投稿のすぐ下に表示されます。
編集したい投稿の下にフォームが表示されるようにするには、どうすればこれを修正できますか??
事前に助けてくれてありがとう!