Как я могу передать FORM по нажатию кнопки в MVC2.0? - PullRequest
0 голосов
/ 20 сентября 2010

Я вызываю метод контроллера SendMe (formCollection myForm) {}. Но я не знаю, как передать форму, которая содержит некоторую информацию. Я знаю, как читать его, а также как вызывать SendMe () на данном контроллере, но я не знаю, как его передать. Хотя для справки я называю SendMe как:

<div id="menucontainer">

            <ul id="menu">              
                <li><%: Html.ActionLink("Send", "SendMe", "Mail")%></li>
            </ul>

        </div>

и мой метод SendMe:

public ActionResult SendMe(FormCollection Form)
    {
        string From = Form["From"].ToString();
        string Pass = Form["Password"].ToString();
        string To = Form["To"].ToString();
        string Subject = Form["Subject"].ToString();
        string Message = Form["Message"].ToString();
        MailMessage nmsg = new MailMessage(From, To, Subject, Message);
        nmsg.IsBodyHtml = true;
        nmsg.Priority = MailPriority.High;
        SmtpClient smtpc = new SmtpClient("smtp.gmail.com", 587);
        smtpc.Credentials = new System.Net.NetworkCredential(From, Pass);
        smtpc.EnableSsl = true;
        smtpc.Send(nmsg);
        return View();
    }

Я ничего не поместил в Model, хотя MailController и SendMe.aspx на месте.

скажи мне, как пройти через это. Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 20 сентября 2010

Этот простой код должен работать ... если все, что вам нужно, это отправить информацию из формы ... Пожалуйста, уберите, если я понял, что это неправильно. ... и в случае viewmodel вы должны наследовать страницу от viewmodel ... и извлекать из объекта viewmodel вместо formcollection ...

<% Html.BeginForm("SendMe", "Send", FormMethod.Post); %> //Here 1st parameter is the actionname while second is the Controller name

    //Form Fields....

<input id="SendMe" type="submit" value="Send Info" />
<% Html.EndForm(); %>
0 голосов
/ 20 сентября 2010

Чтобы получить переменные FORM в вашем контроллере, форму необходимо отправить через HOSTP POST.

<% using (Html.BeginForm()) {%>
  .....
<% Html.EndForm(); %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...