@Html.ActionLink("Reply", "BlogReplyCommentAdd", "Blog",
new { blogPostId = blogPostId, replyblogPostmodel = Model,
captchaValid = Model.AddNewComment.DisplayCaptcha },null)
我的控制器:
public ActionResult BlogReplyCommentAdd(int blogPostId, BlogPostModel model, bool captchaValid)
{}
在我的控制器中,我传递的是整个模型。但是,在达到Action
之前,属性的值为nullBlogPostModel:
[Validator(typeof(BlogPostValidator))]
public partial class BlogPostModel : BaseNopEntityModel
{
public BlogPostModel()
{
Tags = new List<string>();
Comments = new List<BlogCommentModel>();
AddNewComment = new AddBlogCommentModel();
}
public string SeName { get; set; }
public string Title { get; set; }
public string Body { get; set; }
public bool AllowComments { get; set; }
public int NumberOfComments { get; set; }
public DateTime CreatedOn { get; set; }
public IList<string> Tags { get; set; }
public IList<BlogCommentModel> Comments { get; set; }
public AddBlogCommentModel AddNewComment { get; set; }
}
我需要整个模型。 提前致谢
答案 0 :(得分:1)
你根本不会采用这种正确的方式。唯一一次在查询字符串中传递整个模型数据,就像通过GET操作提交HTML表单一样;即使这样,除非HTTP缓存不是问题,否则这并不理想。
在这种情况下,您已经将查询字符串中的博客帖子的ID传递给控制器方法 - 因此在您的控制器方法中,您可以检索博客文章模型,然后将其传递给视图。
编辑一旦添加了这个答案 - @levelnis'评论然后出现 - 他/他们说的是完全相同的事情。
<强>更新强>
考虑一下 - 如果你这样做是因为你的网站是如何运作的 - 那么任何人都可以在你的博客网站上“发布”内容,将查询字符串用各种可怕的东西播种,更不用说让你的网站成为一个游乐场对于SEO垃圾邮件发送者等。