Link to home
Start Free TrialLog in
Avatar of Member_2_1242703
Member_2_1242703

asked on

MVC: Sending an ID from a view to a controller and doing something with it

I have a button on a view located at: localhost:99998/MyController/Edit/5017

 <input type="button" value="Delete" class="btn btn-danger" onclick="location.href='@Url.Action("DelRec", "MyController")'" />

Open in new window


I want to take the ID (in this case 5017)
send it to the controller action (DelRec)
then update the correlating record (5017)

How do I do this?
Avatar of Prakash Samariya
Prakash Samariya
Flag of India image

Hope your controller action method "DelRec" has parameter to accept ID like:
public ActionResult DelRec(int id)
{...}

Open in new window

To get id from URL (as your current url is : localhost:99998/MyController/Edit/5017)
Store into variable [myId]
@{ ... 
var myId = Url.RequestContext.RouteData.Values["id"]; 
...}

Open in new window

To pass parameter (here id) use below code (use variable [myId])
 <input type="button" value="Delete" class="btn btn-danger" 
onclick="location.href='@Url.Action("DelRec", "MyController", new {id=myId})'" />

Open in new window

Avatar of Member_2_1242703
Member_2_1242703

ASKER

Seems like this way is trying to redirect to a View called DelRec, unless I'm doing something wrong. All I want to do is run some code.
ASKER CERTIFIED SOLUTION
Avatar of Member_2_1242703
Member_2_1242703

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
@Mike, it is not necessary to create form just to send your id to some other action method, If you have other work to manipulate and send, then it is fine!

Just for sending id to other action method, I guess my solution will work #a42061177 !
I was not successful in getting your solution to work. As I stated earlier, it was directing my browser to a view called DelRec/ID
Furthermore, my initial request was to update a record not "Just for sending id to other action method"

I would love to know how to do this correctly as while this "add another form" method works for me now, I see this as being problematic most other times.
<input type="button" value="Delete" class="btn btn-danger" onclick="location.href='@Url.Action("DelRec", "MyController")'" />
that's what your question stated!
I want to take the ID (in this case 5017)
send it to the controller action (DelRec)
You were needed take id from edit url, and then to pass id to DelRec!

Anyways, best of luck!
No other relevant solutions provided...figured it out myself