@Html.Hidden获取并设置值razor mvc 4

时间:2013-01-04 13:53:21

标签: razor asp.net-mvc-4

@foreach(Model.Comments.Where中的var commentlist(x => x.CommentParentID == 0))                     {

                    <div class="blog-comment">
                        <div class="comment-info">
                            <div class="user-info">
                                @if (commentlist.AllowViewingProfiles)
                                {
                                    <a href="@Url.RouteUrl("CustomerProfile", new { id = commentlist.CustomerId })" class="username">@(commentlist.CustomerName)</a>
                                }
                                else
                                {
                                    <span class="username">@(commentlist.CustomerName)</span>
                                }
                                <div class="avatar">
                                    @if (!String.IsNullOrEmpty(commentlist.CustomerAvatarUrl))
                                    {
                                        <img src="@(commentlist.CustomerAvatarUrl)" class="avatar-img" title="avatar" alt="avatar" />
                                    }
                                </div>
                            </div>
                        </div>
                        <div class="comment-content">
                            <div class="comment-time">
                                @T("Blog.Comments.CreatedOn"): <span class="stat-value">@commentlist.CreatedOn.ToString("g")</span>
                                <div class="buttons">
                                    <input type="submit" id="reply" class="button-1 blog-post-add-comment-button" onclick="return showHide();" />
                                    @Html.Hidden("CommentParentID",@commentlist.Id)
                                </div>
                            </div>
                            <div class="comment-body">
                                @Html.Raw(Nop.Core.Html.HtmlHelper.FormatText(commentlist.CommentText, false, true, false, false, false, false))
                            </div>
                        </div>

                        <div class="clear">
                        </div>
}

我正在使用@ Html.Hidden(“CommentParentID”,@ commentlist.Id)为ChildComment设置值CommentParentID(如果有)。

在下面的操作中,我想将CommentParentID作为参数传递。

 @Html.ActionLink("Reply", "BlogCommentReply", "Blog", new { blogPostId = blogPostId, CommentParentID=CommentParentID,captchaValid = Model.AddNewComment.DisplayCaptcha }, null)

如何在Controller中检索此隐藏字段值? 或者我如何传递这个价值?

2 个答案:

答案 0 :(得分:1)

  

如何在Controller中检索此隐藏字段值?

让控制器操作一个与隐藏字段同名的参数:

[HttpPost]
public ActionResult SomeAction(string[] commentParentID)
{

}

请注意,我在这里使用了一个集合,因为我可以看到你将这些隐藏的字段放在一个循环中,这意味着你将有多个具有相同名称的隐藏元素POST到服务器。

你也可以使用那些整数的整数数组。

答案 1 :(得分:0)

最简单的方法是通过像这样的ajax

控制器

 public void Method1(string val1, string val2)
        {
            ///do what you want with the values
        }

Page / Ajax call

 function PostData() {
            $.ajax({
                url: 'Home/Method1',
                data: { val1: $('#hidden1').val(), val2: $('#hidden2').val()},
                success: function (data) {
                }
            });
        }