【发布时间】:2020-03-11 11:31:32
【问题描述】:
我希望能够单击博客链接并打开显示该特定博客页面的博客。我的路由配置接受可选的 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);
}
}
【问题讨论】:
-
只是关于上述内容的一些注意事项。您的
getBlog方法旨在获取blogTable对象,看起来您正在传递一个名为blogData和var类型的东西,所以上帝知道那是什么。同样由此,您无法获得blogged.blogAuthor,因为您只是在对象中设置ID。而不是GET,我个人只会POST。另外,在这种情况下,我认为您不需要方法上方的协议。此外,您的ajax似乎不正确。 -
blogData 只是一个变量,它只保存所有发送到控制器的数据。好的,不正确,请您详细说明不正确的地方吗?
-
我相信你应该看看这个教程,在我看来它会有所帮助docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/…
-
如果您只是导航到另一个页面,老实说,我只会使用 Html 助手并将您想要的变量值传递给控制器
标签: c# jquery ajax asp.net-mvc