Jynn
Jynn

Reputation: 287

How to link 2 actions to 1 form

I'm not sure if what I'm asking is even possible. I have a form with a checkbox list and button above it. The user selects from the list and then clicks the button and it writes to the db. Now i would like to add a second button that will do something different to the selection. How would I go about about linking this second button to a different action?

current code:

@using (Html.BeginForm("RemoveFromAvailable", "GroupPlayManager", new { id = Model.Id, slug = Model.Slug, innerid = Model.GroupPlayManagerId }, FormMethod.Post, null))
{
    <div class="hMarginBottom15">
        <input type="hidden" class="groupPlay-id" name="GroupPlayId" value="@Model.GroupPlayInput.Id" />
        <input type="hidden" name="GroupPlayManagerId" value="@Model.GroupPlayManagerId" />
        <input type="hidden" name="GroupPlayDateTime" value="@Model.GroupPlayInput.GroupPlayDate" />
        <button name="RemoveFromAvailable" id="unavailableButton" class="btn btn-danger" disabled="disabled">Remove</button>                   
    </div>
    @Html.EditorFor(
        m => m.AvailablePlayers,
        "BootstrapHorizontalCheckboxList",
        new
        {
            data = Model.AvailablePlayersDates.Select(tm => new SelectListItem
            {
                Text = tm.Name,
                Value = tm.Id,
            }).ToList(),
            chunksize = 1,
            isRequired = true,
            displaylabel = false,
            cssClass = "col-md-12"
        })  
}

Upvotes: 0

Views: 86

Answers (1)

Chris Pratt
Chris Pratt

Reputation: 239460

Name your buttons and then branch in your action accordingly. For example:

<button type="submit" name="_Save">Save</button>
<button type="submit" name="_SomethingElse">Something Else</button>

Then, in your action:

if (Request["_Save"] != null))
{
    // save
}
else if (Request["_SomethingElse"] != null))
{
    // do something else
}

The key will only be present if the user clicked that particular button.

Upvotes: 1

Related Questions