I am trying to pass clicked button to the controller when user clicked Next button from the view/FregihtTool.cshtml
@model ThanksTrucking.Models.Shipping
<h2>FreightTool</h2>
@using (Html.BeginForm("FreightTool", "Shipping"))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Calculator</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div row>
<div class="col-md-12">
<button class="col-md-3" type="button" id="PrintedMaterials" value="1" class="btn btn-secondary " ng-click="levelOU()">Printed Materials </button>
<button class="col-md-3" type="button" id="Machinery" value="2" class="btn btn-secondary " ng-click="levelCD()">Machinery</button>
<button class="col-md-3" type="button" id="PaperGoods" value="3" class="btn btn-secondary " ng-click="levelD()">Paper Goods </button>
<button class="col-md-3" type="button" id="MetalWood" value="4" class="btn btn-secondary " ng-click="levelF()">Metal & Wood Materials </button>
</div>
</div>
<div class="form-group">
<div class="col-md-12 text-right">
<input type="submit" value="Next" class="btn btn-success" />
</div>
</div>
</div>
}
Now I have FreightController looks like this:
// GET: Shipping/FreightTool
public ActionResult FreightTool()
{
return View();
}
// Post: Shipping/FreightTool
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult FreightTool(int categoryNum)
{
int FreightClass = 0;
switch (categoryNum)
{
case 1:
FreightClass = 50;
break;
case 2:
FreightClass = 60;
break;
case 3:
FreightClass = 70;
break;
case 4:
FreightClass = 80;
break;
default:
FreightClass = 0;
break;
}
return RedirectToAction("Create", "Shipping", FreightClass);
}
I want to pass CategoryNum from the view and the controller handles it and tell which FreightClass it is.
button, you're usingAngularso that would be how you'd "persist" that value (and will handle the submit similarly in client side/Angular). Hth.