Как отправить значения в другое представление - PullRequest
0 голосов
/ 01 апреля 2019

У меня есть представление редактирования, чьи текстовые поля должны быть назначены некоторым полям после того, как я нажму кнопку редактирования для записи в таблице в другом представлении.

 <tbody>
                        @foreach (var client in this.Model.ClientsList)
                        {
                            <tr>
                                <td>@client.Name</td>
                                <td>@client.PhoneNo</td>
                                <td>@client.Address</td>
                                <td>@client.ProjectNo</td>
                                <td class="text-center">
                                    <a href="../Downloads/Clients/@client.Logo" target="_blank">
                                        <i class="fa fa-file-text"></i>
                                    </a>
                                </td>
                                <td>@Html.ActionLink("Edit", "Edit")</td>
                            </tr>
                        }
                    </tbody>

Это представление редактирования

@using (Html.BeginForm("Edit","Clients", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>Clients</h4>
        <hr />
        @Html.ValidationSummary(true)
        @Html.HiddenFor(model => model.ID)

        <div class="form-group">
            @Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Name)
                @Html.ValidationMessageFor(model => model.Name)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Address, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Address)
                @Html.ValidationMessageFor(model => model.Address)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.PhoneNo, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.PhoneNo)
                @Html.ValidationMessageFor(model => model.PhoneNo)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.Logo, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Logo)
                @Html.ValidationMessageFor(model => model.Logo)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.ProjectNo, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.ProjectNo)
                @Html.ValidationMessageFor(model => model.ProjectNo)
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Save" class="btn btn-default" />
            </div>
        </div>
    </div>
}

Я старался изо всех сил, но не мог этого сделать. Так что спрашиваю здесь. Я также попытался поместить это объект, но это также не работало. Я знаю, что им можно поделиться через строки запроса, но это не очень эффективно.

Ответы [ 2 ]

1 голос
/ 01 апреля 2019

Я предполагаю, что вы хотите отредактировать данные клиента, чтобы вы могли передавать данные в другое представление, передавая TModelValue в качестве третьих параметров, подобных этому

@Html.ActionLink("Edit","Edit", new { ID = client.Id })

Надеюсь, это поможет. Regrads.

1 голос
/ 01 апреля 2019

Просто Вы можете сделать это так

@Html.ActionLink("Edit", // <-- Link text  
                 "url/GetClientDataById/2" // <-- Action Method Name  
                 )  

Предпочтительный способ

@Html.ActionLink("Edit", "url/GetClientDataById",  new { Id = client.Id })


        public string GetClientDataById(int Id)
        {
        //perform your DB logic here and then return your object to view
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...