如何重定向Html.BeginForm

时间:2018-05-24 01:26:07

标签: asp.net-mvc razor

我有这个视图,它显示3个文本框和一个显示国籍的下拉列表。表单本身工作正常,回发到控制器,没有任何错误。然而,我想要的是,说下拉中没有国籍,用户点击一个按钮,该按钮将重定向到可以添加国籍的不同页面。以下是我到目前为止的情况:

@model WebApp.Models.ViewModels.AddPersonViewModel

<div class="container card">
    @using (Html.BeginForm("AddPersonPost", "Persons", FormMethod.Post))
    {
        <form>
            <div class="form-row">
                <div class="col">
                    @Html.TextBoxFor(m => m.PersonModel.Name, new { @class = "form-control", @placeholder = "Name" })
                </div>
                <div class="col">
                    @Html.TextBoxFor(m => m.PersonModel.Relationship, new { @class = "form-control", @placeholder = "Relationship" })
                </div>
                <div class="col">
                    @Html.TextBoxFor(m => m.PersonModel.Comment, new { @class = "form-control", @placeholder = "Comment" })
                </div>
                <div class="col dropdown show">
                    @Html.DropDownListFor(m => m.PersonModel.Nationality, Model.NationalityList)

                    <input type="submit" class="btn-sm btn-primary mt-1" value="Add Nationality" onclick="window.location='@Url.Action("GetAll", "Persons")'">

                </div>
            </div>

            <div class="m-sm-2">
                <input type="submit" class="btn-sm btn-primary" value="Add Person">
            </div>
        </form>
    }
</div>

我尝试过重定向选项,但是当我单击按钮添加国籍时,它会继续执行BeginForm中的Action,而不是按钮中的预期Action。所以我想知道1.这是一个很好的做法,做我想做的事情? 2.如何去做?任何帮助表示赞赏。

0 个答案:

没有答案