我想写用户控件来发送电子邮件。
我写了那个控件:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<form action="" method="post">
<div class="box">
<div class="box-header">
Rejestracja</div>
<div class="box-content">
<div>
Imię
</div>
<div>
<input name="firstname" type="text" />
</div>
<div>
Nazwisko
</div>
<div>
<input name="lastname" type="text" />
</div>
<div>
Email
</div>
<div>
<input name="email" type="text" />
</div>
<div>
Ulica nr domu mieszkania
</div>
<div>
<input name="street" type="text" />
</div>
</div>
<div class="box-info">
Wypełnij formularz rejestracyjny i dołącz do klubu Oriflame.
</div>
</div>
<div style="clear: both;">
</div>
</form>
我将此控件放在母版页中:
<% Html.RenderPartial("Kontakt"); %>
该控件名为:kontakt.aspx“,它位于共享文件夹
中我的问题是我必须在编写代码时发送电子邮件。我在myst中设置的控件是什么动作。
此控件位于所有网站上。
此致
答案 0 :(得分:1)
表单需要发布到设置为路由到控制器操作的URL。这可能是当前页面的Url或不同的Url。
在您的控制器中,您需要一个接受表单字段的方法。这可以是FormCollection对象或强类型模型,其属性映射到表单名称。
[HttpPost]
public ActionResult Foo(FormCollection form)
{
.. use the form collection to construct your email ...
}
如果您使用强类型视图,而不是自己构建HTML输入,则可以执行以下操作:
<%= Html.TextBoxFor(x => x.FirstName) %>
在您的控制器操作中,您可以使用模型而不是FormCollection:
[HttpPost]
public ActionResult Foo(KontaktModel details)
{
.. use the details object to construct your email ...
}
我建议您查看http://asp.net/mvc上的教程以及NerdDinner教程。
答案 1 :(得分:0)
您必须创建某种将接收表单数据的Controller。您可以从服务器(从控制器或您选择发送它的任何内容)发送这些电子邮件。
答案 2 :(得分:0)
以控制器方式编写您的电子邮件创建和发送代码。然后你可以从这个Kontakt局部视图中调用它:
<% using (Html.BeginForm("SendMail", "Mail")) { %>
其中SendMail
是方法,Mail
是控制器的名称。
public ActionResult SendMail()
{
//build your mail objects and send as needed.
return View();
}