ASP.NET MVC - How to call controller method and don't leave the view [duplicate]
This question already has an answer here:
ASP.NET MVC - How to call void controller method without leaving the view?
7 answers
I have looked around for a similar question, but all the answers don't work for my problem. I am creating a wishlist, and I want the link to only return some sort of confirmation, and not go to another view.
View:
...
<div class="wishlist">
@Html.ActionLink(" ", "AddToWishList", "Wishlist", routeValues: new
itm_id = item.id
,
htmlAttributes: new @class = "heart" )
</div>
...
Controller
public async Task<ActionResult> AddToWishList(int itm_id, int recordId)
...
return RedirectToAction(nameof(Index));
c# html asp.net asp.net-mvc
marked as duplicate by Stijn, BWA, user3559349 Nov 14 '18 at 20:49
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
|
show 2 more comments
This question already has an answer here:
ASP.NET MVC - How to call void controller method without leaving the view?
7 answers
I have looked around for a similar question, but all the answers don't work for my problem. I am creating a wishlist, and I want the link to only return some sort of confirmation, and not go to another view.
View:
...
<div class="wishlist">
@Html.ActionLink(" ", "AddToWishList", "Wishlist", routeValues: new
itm_id = item.id
,
htmlAttributes: new @class = "heart" )
</div>
...
Controller
public async Task<ActionResult> AddToWishList(int itm_id, int recordId)
...
return RedirectToAction(nameof(Index));
c# html asp.net asp.net-mvc
marked as duplicate by Stijn, BWA, user3559349 Nov 14 '18 at 20:49
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
@Stijn I looked at that question, but that doesn't resolve my problem. When I implement the question, it returns me to an empty page.
– floorvmt
Nov 14 '18 at 15:07
1
Are you sure you've correctly implemented it? I haven't verified the code from that answer but it looks correct at first sight.
– Stijn
Nov 14 '18 at 15:08
Read about Ajax.
– BWA
Nov 14 '18 at 15:10
Yea this part should stop page refresh from happening $("#myLink").click(function(e){ e.preventDefault(); You would have to add an id to your actionLink and replace the myLink
– Ryan Schlueter
Nov 14 '18 at 15:10
@Stijn Yes, it doesn't work for me.
– floorvmt
Nov 15 '18 at 14:30
|
show 2 more comments
This question already has an answer here:
ASP.NET MVC - How to call void controller method without leaving the view?
7 answers
I have looked around for a similar question, but all the answers don't work for my problem. I am creating a wishlist, and I want the link to only return some sort of confirmation, and not go to another view.
View:
...
<div class="wishlist">
@Html.ActionLink(" ", "AddToWishList", "Wishlist", routeValues: new
itm_id = item.id
,
htmlAttributes: new @class = "heart" )
</div>
...
Controller
public async Task<ActionResult> AddToWishList(int itm_id, int recordId)
...
return RedirectToAction(nameof(Index));
c# html asp.net asp.net-mvc
This question already has an answer here:
ASP.NET MVC - How to call void controller method without leaving the view?
7 answers
I have looked around for a similar question, but all the answers don't work for my problem. I am creating a wishlist, and I want the link to only return some sort of confirmation, and not go to another view.
View:
...
<div class="wishlist">
@Html.ActionLink(" ", "AddToWishList", "Wishlist", routeValues: new
itm_id = item.id
,
htmlAttributes: new @class = "heart" )
</div>
...
Controller
public async Task<ActionResult> AddToWishList(int itm_id, int recordId)
...
return RedirectToAction(nameof(Index));
This question already has an answer here:
ASP.NET MVC - How to call void controller method without leaving the view?
7 answers
c# html asp.net asp.net-mvc
c# html asp.net asp.net-mvc
edited Nov 18 '18 at 16:11
floorvmt
asked Nov 14 '18 at 15:03
floorvmtfloorvmt
829
829
marked as duplicate by Stijn, BWA, user3559349 Nov 14 '18 at 20:49
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
marked as duplicate by Stijn, BWA, user3559349 Nov 14 '18 at 20:49
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
@Stijn I looked at that question, but that doesn't resolve my problem. When I implement the question, it returns me to an empty page.
– floorvmt
Nov 14 '18 at 15:07
1
Are you sure you've correctly implemented it? I haven't verified the code from that answer but it looks correct at first sight.
– Stijn
Nov 14 '18 at 15:08
Read about Ajax.
– BWA
Nov 14 '18 at 15:10
Yea this part should stop page refresh from happening $("#myLink").click(function(e){ e.preventDefault(); You would have to add an id to your actionLink and replace the myLink
– Ryan Schlueter
Nov 14 '18 at 15:10
@Stijn Yes, it doesn't work for me.
– floorvmt
Nov 15 '18 at 14:30
|
show 2 more comments
@Stijn I looked at that question, but that doesn't resolve my problem. When I implement the question, it returns me to an empty page.
– floorvmt
Nov 14 '18 at 15:07
1
Are you sure you've correctly implemented it? I haven't verified the code from that answer but it looks correct at first sight.
– Stijn
Nov 14 '18 at 15:08
Read about Ajax.
– BWA
Nov 14 '18 at 15:10
Yea this part should stop page refresh from happening $("#myLink").click(function(e){ e.preventDefault(); You would have to add an id to your actionLink and replace the myLink
– Ryan Schlueter
Nov 14 '18 at 15:10
@Stijn Yes, it doesn't work for me.
– floorvmt
Nov 15 '18 at 14:30
@Stijn I looked at that question, but that doesn't resolve my problem. When I implement the question, it returns me to an empty page.
– floorvmt
Nov 14 '18 at 15:07
@Stijn I looked at that question, but that doesn't resolve my problem. When I implement the question, it returns me to an empty page.
– floorvmt
Nov 14 '18 at 15:07
1
1
Are you sure you've correctly implemented it? I haven't verified the code from that answer but it looks correct at first sight.
– Stijn
Nov 14 '18 at 15:08
Are you sure you've correctly implemented it? I haven't verified the code from that answer but it looks correct at first sight.
– Stijn
Nov 14 '18 at 15:08
Read about Ajax.
– BWA
Nov 14 '18 at 15:10
Read about Ajax.
– BWA
Nov 14 '18 at 15:10
Yea this part should stop page refresh from happening $("#myLink").click(function(e){ e.preventDefault(); You would have to add an id to your actionLink and replace the myLink
– Ryan Schlueter
Nov 14 '18 at 15:10
Yea this part should stop page refresh from happening $("#myLink").click(function(e){ e.preventDefault(); You would have to add an id to your actionLink and replace the myLink
– Ryan Schlueter
Nov 14 '18 at 15:10
@Stijn Yes, it doesn't work for me.
– floorvmt
Nov 15 '18 at 14:30
@Stijn Yes, it doesn't work for me.
– floorvmt
Nov 15 '18 at 14:30
|
show 2 more comments
2 Answers
2
active
oldest
votes
You want to use Ajax.ActionLink instead of Html.ActionLink. The article below should specify some of the details of the usage. Make sure you remember to include the jquery libraries or it will not generate the link type you are expecting.
https://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc/
Personally, I would not use the Microsoft method and write a jQuery Ajax postback myself in JavaScript.
This doesn't work for me unfortunately, it doesn't recognize Ajax
– floorvmt
Nov 15 '18 at 14:29
add a comment |
You can achieve this simply using Jquery Get. https://api.jquery.com/jquery.get/
This is your back end side.
public async Task<JsonResult> AddToWishList(int itm_id, int recordId)
// Do you data here and put it to the List<something> list
return Json(list, JsonRequestBehavior.AllowGet);
and your front end should be something like this.
<button>Click</button>
<div class="wishlist">
</div>
<script>
$("button").click(function()
$.get( "YourControllerName/AddToWishList",itm_id: yourItemId, recordId: yourRecordId function( data )
$( ".wishlist" ).html( data );
alert( "Load was performed." );
);
);
</script>
This doesn't work for me unfortunately, it doesn't recognize JsonRequestBehavior.AllowGet
– floorvmt
Nov 15 '18 at 14:29
How do you mean? JsonRequestBehavior is an enum under System.Web.Mvc imgur.com/a/b6xK3Rm
– Mehmet Taha Meral
Nov 15 '18 at 15:40
I only get these options when typing Json.. imgur.com/a/bmZ4V66
– floorvmt
Nov 18 '18 at 15:36
I tried to do it this way:return Json(itm_id);
but it still doesn't work for me..
– floorvmt
Nov 18 '18 at 15:44
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You want to use Ajax.ActionLink instead of Html.ActionLink. The article below should specify some of the details of the usage. Make sure you remember to include the jquery libraries or it will not generate the link type you are expecting.
https://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc/
Personally, I would not use the Microsoft method and write a jQuery Ajax postback myself in JavaScript.
This doesn't work for me unfortunately, it doesn't recognize Ajax
– floorvmt
Nov 15 '18 at 14:29
add a comment |
You want to use Ajax.ActionLink instead of Html.ActionLink. The article below should specify some of the details of the usage. Make sure you remember to include the jquery libraries or it will not generate the link type you are expecting.
https://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc/
Personally, I would not use the Microsoft method and write a jQuery Ajax postback myself in JavaScript.
This doesn't work for me unfortunately, it doesn't recognize Ajax
– floorvmt
Nov 15 '18 at 14:29
add a comment |
You want to use Ajax.ActionLink instead of Html.ActionLink. The article below should specify some of the details of the usage. Make sure you remember to include the jquery libraries or it will not generate the link type you are expecting.
https://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc/
Personally, I would not use the Microsoft method and write a jQuery Ajax postback myself in JavaScript.
You want to use Ajax.ActionLink instead of Html.ActionLink. The article below should specify some of the details of the usage. Make sure you remember to include the jquery libraries or it will not generate the link type you are expecting.
https://www.c-sharpcorner.com/UploadFile/abhikumarvatsa/ajax-actionlink-and-html-actionlink-in-mvc/
Personally, I would not use the Microsoft method and write a jQuery Ajax postback myself in JavaScript.
answered Nov 14 '18 at 15:38
Brandon BarkleyBrandon Barkley
426312
426312
This doesn't work for me unfortunately, it doesn't recognize Ajax
– floorvmt
Nov 15 '18 at 14:29
add a comment |
This doesn't work for me unfortunately, it doesn't recognize Ajax
– floorvmt
Nov 15 '18 at 14:29
This doesn't work for me unfortunately, it doesn't recognize Ajax
– floorvmt
Nov 15 '18 at 14:29
This doesn't work for me unfortunately, it doesn't recognize Ajax
– floorvmt
Nov 15 '18 at 14:29
add a comment |
You can achieve this simply using Jquery Get. https://api.jquery.com/jquery.get/
This is your back end side.
public async Task<JsonResult> AddToWishList(int itm_id, int recordId)
// Do you data here and put it to the List<something> list
return Json(list, JsonRequestBehavior.AllowGet);
and your front end should be something like this.
<button>Click</button>
<div class="wishlist">
</div>
<script>
$("button").click(function()
$.get( "YourControllerName/AddToWishList",itm_id: yourItemId, recordId: yourRecordId function( data )
$( ".wishlist" ).html( data );
alert( "Load was performed." );
);
);
</script>
This doesn't work for me unfortunately, it doesn't recognize JsonRequestBehavior.AllowGet
– floorvmt
Nov 15 '18 at 14:29
How do you mean? JsonRequestBehavior is an enum under System.Web.Mvc imgur.com/a/b6xK3Rm
– Mehmet Taha Meral
Nov 15 '18 at 15:40
I only get these options when typing Json.. imgur.com/a/bmZ4V66
– floorvmt
Nov 18 '18 at 15:36
I tried to do it this way:return Json(itm_id);
but it still doesn't work for me..
– floorvmt
Nov 18 '18 at 15:44
add a comment |
You can achieve this simply using Jquery Get. https://api.jquery.com/jquery.get/
This is your back end side.
public async Task<JsonResult> AddToWishList(int itm_id, int recordId)
// Do you data here and put it to the List<something> list
return Json(list, JsonRequestBehavior.AllowGet);
and your front end should be something like this.
<button>Click</button>
<div class="wishlist">
</div>
<script>
$("button").click(function()
$.get( "YourControllerName/AddToWishList",itm_id: yourItemId, recordId: yourRecordId function( data )
$( ".wishlist" ).html( data );
alert( "Load was performed." );
);
);
</script>
This doesn't work for me unfortunately, it doesn't recognize JsonRequestBehavior.AllowGet
– floorvmt
Nov 15 '18 at 14:29
How do you mean? JsonRequestBehavior is an enum under System.Web.Mvc imgur.com/a/b6xK3Rm
– Mehmet Taha Meral
Nov 15 '18 at 15:40
I only get these options when typing Json.. imgur.com/a/bmZ4V66
– floorvmt
Nov 18 '18 at 15:36
I tried to do it this way:return Json(itm_id);
but it still doesn't work for me..
– floorvmt
Nov 18 '18 at 15:44
add a comment |
You can achieve this simply using Jquery Get. https://api.jquery.com/jquery.get/
This is your back end side.
public async Task<JsonResult> AddToWishList(int itm_id, int recordId)
// Do you data here and put it to the List<something> list
return Json(list, JsonRequestBehavior.AllowGet);
and your front end should be something like this.
<button>Click</button>
<div class="wishlist">
</div>
<script>
$("button").click(function()
$.get( "YourControllerName/AddToWishList",itm_id: yourItemId, recordId: yourRecordId function( data )
$( ".wishlist" ).html( data );
alert( "Load was performed." );
);
);
</script>
You can achieve this simply using Jquery Get. https://api.jquery.com/jquery.get/
This is your back end side.
public async Task<JsonResult> AddToWishList(int itm_id, int recordId)
// Do you data here and put it to the List<something> list
return Json(list, JsonRequestBehavior.AllowGet);
and your front end should be something like this.
<button>Click</button>
<div class="wishlist">
</div>
<script>
$("button").click(function()
$.get( "YourControllerName/AddToWishList",itm_id: yourItemId, recordId: yourRecordId function( data )
$( ".wishlist" ).html( data );
alert( "Load was performed." );
);
);
</script>
answered Nov 14 '18 at 16:09
Mehmet Taha MeralMehmet Taha Meral
569416
569416
This doesn't work for me unfortunately, it doesn't recognize JsonRequestBehavior.AllowGet
– floorvmt
Nov 15 '18 at 14:29
How do you mean? JsonRequestBehavior is an enum under System.Web.Mvc imgur.com/a/b6xK3Rm
– Mehmet Taha Meral
Nov 15 '18 at 15:40
I only get these options when typing Json.. imgur.com/a/bmZ4V66
– floorvmt
Nov 18 '18 at 15:36
I tried to do it this way:return Json(itm_id);
but it still doesn't work for me..
– floorvmt
Nov 18 '18 at 15:44
add a comment |
This doesn't work for me unfortunately, it doesn't recognize JsonRequestBehavior.AllowGet
– floorvmt
Nov 15 '18 at 14:29
How do you mean? JsonRequestBehavior is an enum under System.Web.Mvc imgur.com/a/b6xK3Rm
– Mehmet Taha Meral
Nov 15 '18 at 15:40
I only get these options when typing Json.. imgur.com/a/bmZ4V66
– floorvmt
Nov 18 '18 at 15:36
I tried to do it this way:return Json(itm_id);
but it still doesn't work for me..
– floorvmt
Nov 18 '18 at 15:44
This doesn't work for me unfortunately, it doesn't recognize JsonRequestBehavior.AllowGet
– floorvmt
Nov 15 '18 at 14:29
This doesn't work for me unfortunately, it doesn't recognize JsonRequestBehavior.AllowGet
– floorvmt
Nov 15 '18 at 14:29
How do you mean? JsonRequestBehavior is an enum under System.Web.Mvc imgur.com/a/b6xK3Rm
– Mehmet Taha Meral
Nov 15 '18 at 15:40
How do you mean? JsonRequestBehavior is an enum under System.Web.Mvc imgur.com/a/b6xK3Rm
– Mehmet Taha Meral
Nov 15 '18 at 15:40
I only get these options when typing Json.. imgur.com/a/bmZ4V66
– floorvmt
Nov 18 '18 at 15:36
I only get these options when typing Json.. imgur.com/a/bmZ4V66
– floorvmt
Nov 18 '18 at 15:36
I tried to do it this way:
return Json(itm_id);
but it still doesn't work for me..– floorvmt
Nov 18 '18 at 15:44
I tried to do it this way:
return Json(itm_id);
but it still doesn't work for me..– floorvmt
Nov 18 '18 at 15:44
add a comment |
@Stijn I looked at that question, but that doesn't resolve my problem. When I implement the question, it returns me to an empty page.
– floorvmt
Nov 14 '18 at 15:07
1
Are you sure you've correctly implemented it? I haven't verified the code from that answer but it looks correct at first sight.
– Stijn
Nov 14 '18 at 15:08
Read about Ajax.
– BWA
Nov 14 '18 at 15:10
Yea this part should stop page refresh from happening $("#myLink").click(function(e){ e.preventDefault(); You would have to add an id to your actionLink and replace the myLink
– Ryan Schlueter
Nov 14 '18 at 15:10
@Stijn Yes, it doesn't work for me.
– floorvmt
Nov 15 '18 at 14:30