Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC构建电子邮件主体_C#_Asp.net Mvc - Fatal编程技术网

C# MVC构建电子邮件主体

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

我来自web表单,对MVC还是很陌生。我想创建一个联系表单,只需通过电子邮件向我发送联系信息

e、 g:

  • 名字
  • 姓氏
  • 电子邮件
  • 年龄
  • 公司
我需要收集十几个不同领域的信息

在web表单中,只需调用
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软件包和上的项目文档


希望有帮助

一个链接或一些可视的东西会很有帮助。谢谢。好的,把垃圾邮件的声音调小一点。你开始吸引旗帜了。