Проблема MVC ActionLink - PullRequest
       3

Проблема MVC ActionLink

0 голосов
/ 19 апреля 2011

У меня проблема с моим приложением MVC.У меня есть вид входа в систему

<% Html.EnableClientValidation(); %>

<% using (Html.BeginForm())
   {%>
    <%: Html.ValidationSummary(true)%>

    <fieldset>
        <legend>Login</legend>

        <div class="editor-label">
            <%: Html.LabelFor(model => model.Username)%>
        </div>
        <div class="editor-field">
            <%: Html.TextBoxFor(model => model.Username)%>
            <%: Html.ValidationMessageFor(model => model.Username)%>
        </div>

        <div class="editor-label">
            <%: Html.LabelFor(model => model.Password)%>
        </div>
        <div class="editor-field">
            <%: Html.PasswordFor(model => model.Password)%>
            <%: Html.ValidationMessageFor(model => model.Password)%>
        </div>

        <p>
            <input type="submit" value="Login" />
        </p>



    </fieldset>
        <%: Html.ActionLink("Set Email",
              "SetEmail",
              "GASLogin",
                          new {model = Model.Username},
              null)%>
<% } %>

и ActionLink.Когда я нажимаю на ссылку действия, мне нужно отправить электронное письмо на почтовый адрес в текстовом поле «<%: Html.TextBoxFor (model => model.Username)%>».Проблема в том, что мое Model.Username равно нулю.Так как я могу это сделать?

Спасибо.

1 Ответ

0 голосов
/ 19 апреля 2011

Мне кажется, я вижу проблему.Попробуйте переопределить ActionLink, чтобы он не определял model = Model.Username, и просто дайте автоматическому связыванию MVC позаботиться об отправке значений полей в ваш метод действия.

Вызов метода ActionLink оценивается, когда HTMLгенерируется из представления, поэтому в этот момент ваша модель будет содержать только то, что вы поместили в нее из предыдущего метода действия, который возвращает представление.То, что вы хотите, - это значение, введенное пользователем в поле (поля) после отображения страницы и запуска HTTP-сообщения, которое позаботится о привязке MVC.

...