gpt4 book ai didi

javascript - 如何在mvc3中执行操作而不更改当前页面

转载 作者:行者123 更新时间:2023-12-02 19:24:00 25 4
gpt4 key购买 nike

我用 Javascript 制作我最喜欢的产品,是的,没有窗口。当单击"is"按钮时,产品将获得我的最爱并刷新背景页面。我在 Controller 中有 MakeMyFavorite 操作,但每次调用都会返回相同结果。

public ActionResult MakeMyFavorite( int id )
{
....
return RedirectToAction( "Details", "Product", product );
}

和 JavaScript:

<script language="JavaScript" type="text/javascript">
function confirmFavorite() {
if (confirm("Are you sure make favorite?")) {
document.location.reload(true);
return true;
} else {
return false;
}
}
</script>

和链接:

<a href="@Html.Action ( "MakeMyFavorite", "Product", new { id = item.ID } )" 
onclick = "return confirmFavorite()"> Make Favorite </a>

我在网站的不同位置(详细信息、索引和其他 View )使用收藏链接。单击链接时,产品是最喜欢的,页面刷新,但始终打开详细信息 View 。我在 Controller 中用 void 更改了 ActionResult ,但从未打开,因为没有返回 View 。我该怎么办,在网站的不同页面中,当我点击收藏链接时,产品被收藏,但背景页面没有变化?保持当前 View 。 (抱歉英语不好)

最佳答案

你可以这样做

创建 JsonResult 操作

喜欢

public JsonResult MakeMyFavorite(int id)
{
......
string result = "favorite";
return this.Json(result, JsonRequestBehavior.AllowGet);
}

让你的 anchor 标记像

<a href="#" id="myfav" onclick="confirmFavorite(@item.id);">Favorite</a>

和你的jquery来处理这个

<script type="text/javascript">
function confirmFavorite (id) {
if(confirm("Are you sure make favorite?")) {
var data = { "id": id };
$.getJSON("/Product/MakeMyFavorite", data, function (data) {
//check your data here what it is returning
if($.trim(data)=="favorite")
{
//Do what you want to do.
}
});
}
}

</script>

关于javascript - 如何在mvc3中执行操作而不更改当前页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12226334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com