我希望能够点击一个博客链接,并打开博客,显示该特定博客的页面。我的路由配置接受可选的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);
}
}发布于 2020-03-11 21:26:02
如果您只是导航到一个新页面(如您的问题所建议的),我可以简单地使用html helper。
@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>这是假设blodID是一个blogTable。
移除[HttpGet],我们不需要它。
还值得注意的是,在我看来,<a>标记上的id不是唯一的值。这些必须是唯一的。无论你在超文本标记语言中的哪个地方使用Id。
https://stackoverflow.com/questions/60635035
复制相似问题