Asp.net mvc 3 Ajax.BeginForm更新For循环中的唯一div id

Asp.net mvc 3 Ajax.BeginForm更新For循环中的唯一div id,asp.net-mvc-3,Asp.net Mvc 3,更新 最后,我只是使用会话变量将值传递给Ajax.BeginForm块。这是一个我不想使用的黑客,但我就是找不到其他方法 原创帖子 我使用的For循环为循环中的每个注释div分配一个唯一的id,如: <div id="comment@(feedModel.PostID)"></div> 在那张局部视图里面 @if (Request.IsAuthenticated) { <div class="childpost"> @using (Ajax.Begin

更新 最后,我只是使用会话变量将值传递给Ajax.BeginForm块。这是一个我不想使用的黑客,但我就是找不到其他方法

原创帖子 我使用的For循环为循环中的每个注释div分配一个唯一的id,如:

<div id="comment@(feedModel.PostID)"></div>
在那张局部视图里面

@if (Request.IsAuthenticated)
{   
<div class="childpost">
@using (Ajax.BeginForm("SubmitChildPost", "Home", new AjaxOptions { UpdateTargetId = 
"comments@TempData['feedModelID'].ToString()" }, new { id = 
@TempData["feedModelID"].ToString() }))
{
    @Html.TextArea("MessageBox", "", 2, 50, null)
    <br />
    <p>
        @Html.AntiForgeryToken()
        <input type="submit" value="Reply" class="replybutton" />
    </p>
}
</div>
}

假设
Ajax.BeginForm
For
循环中,您可以使用您已经使用的相同方法为目标div提供一个唯一的id,如下所示:

@using (Ajax.BeginForm("Comment", "Comments", new AjaxOptions() 
    { HttpMethod = "Post", UpdateTargetId = "target" + feedModel.PostID }))
然后,在循环中定义目标div:

<div id="target@feedModel.PostID" />

然后,您可以使用
id
分配您的唯一id。

假设
Ajax.BeginForm
For
循环中,您可以使用您已经使用的相同方法为目标div分配唯一id,如下所示:

@using (Ajax.BeginForm("Comment", "Comments", new AjaxOptions() 
    { HttpMethod = "Post", UpdateTargetId = "target" + feedModel.PostID }))
然后,在循环中定义目标div:

<div id="target@feedModel.PostID" />

然后,您可以使用
id
来分配您的唯一id。

如果我使用HTML.BeginForm,那就可以了,但是使用Ajax.BeginForm feedModel.PostID是空的。请发布一些示例代码来说明您在做什么。谢谢,但是我在partialview中获取数据没有任何问题。我有部分视图中的模型,可以很好地访问模型。我只是无法在Ajax.BeginForm块中访问它。感谢您尝试帮助我。如果我使用HTML.BeginForm,那就可以了,但是使用Ajax.BeginForm feedModel.PostID是空的。请发布一些示例代码来说明您在做什么。谢谢,但是我在partialview中获取数据没有任何问题。我有部分视图中的模型,可以很好地访问模型。我只是无法在Ajax.BeginForm块中访问它。感谢您尝试帮助我。仅供参考,在@works“comments-@(feedModel.PostID)”前面加上连字符。一直都会遇到这个问题。仅供参考,在@works“comments-@(feedModel.PostID)”前面加一个连字符。一直都会碰到这个。
<div id="target@feedModel.PostID" />
@{
    var id = this.Request.RequestContext.RouteData.Values["id"].ToString();
}