C# MVC构建电子邮件主体
我来自web表单,对MVC还是很陌生。我想创建一个联系表单,只需通过电子邮件向我发送联系信息 e、 g:C# MVC构建电子邮件主体,c#,asp.net-mvc,C#,Asp.net Mvc,我来自web表单,对MVC还是很陌生。我想创建一个联系表单,只需通过电子邮件向我发送联系信息 e、 g: 名字 姓氏 电子邮件 年龄 公司 我需要收集十几个不同领域的信息 在web表单中,只需调用TextBox.Text 除了必须传递长屁股参数外,构建电子邮件正文的最佳方法是什么: [HttpPost] Public ActionResult Contact(string firstName, string lastName, string Email, int Age, string Co
- 名字
- 姓氏
- 电子邮件
- 年龄
- 公司
TextBox.Text
除了必须传递长屁股参数外,构建电子邮件正文的最佳方法是什么:
[HttpPost]
Public ActionResult Contact(string firstName, string lastName, string Email, int Age, string Company, ...)
{
// ...
}
提前感谢。使用强类型视图,并使用HTML助手方法构建表单。表单中的数据将在动作方法的模型中提供给您。另一种(MVC 1)方法是接受
FormCollection
对象并从中读取值,这可能更容易应用于您已经获得的内容
但我还是同意那个家伙的建议,用MVC2的方式来做
[HttpPost]
Public ActionResult Contact(EmailMessage message)
{
// ...
}
您的模型对象如下所示:
public class EmailMessage
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
....
}
如果表单元素与EmailMessage模型匹配,则可以自动神奇地将其绑定到动作方法
<% using (Html.BeginForm()) { %>
First Name: <input type="text" id="FirstName" />
Last Name: <input type="text" id="LastName" />
Email <input type="text" id="Email" />
....
<% } %>
名字:
姓氏:
电子邮件
....
您还可以通过使用[DisplayName]和其他有用的MVC属性来装饰您的模型属性,从而实现这一令人敬畏的特性
public class EmailMessage
{
[DisplayName("First Name")]
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
....
}
<% using (Html.BeginForm()) { %>
<%: LabelFor(m => m.FirstName) %><%: EditorFor(m => m.FirstName) %>
<%: LabelFor(m => m.LastName) %><%: EditorFor(m => m.LastName) %>
<%: LabelFor(m => m.Email) %><%: EditorFor(m => m.Email) %>
<% } %>
公共类电子邮件
{
[显示名称(“名字”)]
公共字符串名{get;set;}
公共字符串LastName{get;set;}
公共字符串电子邮件{get;set;}
....
}
m、 FirstName)%%>m.FirstName)%%>
m、 LastName)%%>m.LastName)%%>
m、 电子邮件)%%>m.Email)%%>
> p>你可以考虑使用MVCMALL NuGET,它会大大简化你的生活。请参阅上的NuGet软件包和上的项目文档
希望有帮助 一个链接或一些可视的东西会很有帮助。谢谢。好的,把垃圾邮件的声音调小一点。你开始吸引旗帜了。