使用MVC中的博客视图路由博客id



我希望能够点击博客链接并打开显示特定博客页面的博客。我的路由配置接受可选的id参数。我也在用AJAX做这件事,所以希望点击一个博客链接并返回到BlogController。我到处找了找,但找不到对我有帮助的东西。

这是我的代码

CSHTML
@foreach (var blodID in blogCont)
{
<a href="??" id="blogHREF" blog-id="@blodID.blogID">
Text
</a>
}
AJAX
$(document).on("click", "#blogHREF", function () {
var retBlogID = $(this).attr("blog-id");
var blogData = {
blogID: retBlogID
}
$.ajax({
type: "GET",
url: "Blog/getBlog",
data: blogData
});
});

C#   
public class BlogController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult getBlog(blogTable blogged)
{
return View(blogged.blogAuthor);
}
}

如果你只是导航到一个新页面(正如你的问题所建议的那样(,我只需要使用html助手。

@Html.Action("getBlog", "Blog", new {blogged = blodID })

所以这个:

<a href="??" id="blogHREF" blog-id="@blodID.blogID">
Text
</a>

会是这样吗:

<a href="@Html.Action("getBlog", "Blog", new {blogged = blodID })" id="// THIS HAS TO BE UNIQUE">
Text
</a>

这是假设blodIDblogTable

移除[HttpGet],我们不需要它。

同样值得注意的是,在我看来,<a>标签上的id并不是唯一的值。这些必须是独一无二的。无论您在HTML中的哪个位置使用Id

最新更新