首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MVC中使用博客视图路由博客id

在MVC中使用博客视图路由博客id
EN

Stack Overflow用户
提问于 2020-03-11 19:31:32
回答 1查看 34关注 0票数 0

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

以下是我的代码

代码语言:javascript
复制
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);
    }

}
EN

回答 1

Stack Overflow用户

发布于 2020-03-11 21:26:02

如果您只是导航到一个新页面(如您的问题所建议的),我可以简单地使用html helper。

代码语言:javascript
复制
@Html.Action("getBlog", "Blog", new {blogged = blodID })

所以这就是:

代码语言:javascript
复制
<a href="??" id="blogHREF" blog-id="@blodID.blogID">
    Text
</a>

是这样的:

代码语言:javascript
复制
<a href="@Html.Action("getBlog", "Blog", new {blogged = blodID })" id="// THIS HAS TO BE UNIQUE">
    Text
</a>

这是假设blodID是一个blogTable

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

还值得注意的是,在我看来,<a>标记上的id不是唯一的值。这些必须是唯一的。无论你在超文本标记语言中的哪个地方使用Id

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60635035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档