【发布时间】:2015-04-11 04:39:11
【问题描述】:
我正在尝试为我们的网站创建一个所有表单都可以指向的通用电子邮件模块。为了使其动态化,我们只想获取表单集合的键值对并将其打印到电子邮件中。
我找到了有关该主题的以下文章,但似乎无法正常工作。我只是得到空白的结果。我究竟做错了什么? http://www.dofactory.com/topic/1038/how-to-extract-key-values-from-formcollection-in-asp-net-mvc-action-method.aspx
这是我的代码
控制器:
public ActionResult Send(FormCollection formCollection)
{
foreach (var key in formCollection.Keys)
{
Body += "<p><b>";
Body += key.ToString();
Body += ":</b> ";
Body += formCollection[key.ToString()];
Body += "</p>";
}
}
表格样本:
<form role="form" action="/Email/Send" method="post">
<div class="row">
<div class="col-md-3 col-md-offset-1">
<input type="text" class="form-control" id="Name" placeholder="Name">
</div>
<div class="col-md-3">
<input type="email" class="form-control" id="Email" placeholder="Email">
</div>
<div class="col-md-3">
<input type="text" class="form-control" id="Phone" placeholder="Phone">
</div>
<div class="col-md-1">
<input type="hidden" id="Page" value="http://@Request.ServerVariables["SERVER_NAME"]@Request.ServerVariables["URL"]">
<button type="submit" class="btn btn-ar btn-success">Submit</button>
</div>
</div>
</form>
我应该添加确实被调用的函数,因为我确实收到了一封包含我的主题的空白电子邮件。我省略了其他执行实际发送以节省空间的代码。
【问题讨论】:
-
你能展示你调用这个动作的视图吗?您是否使用
POSTHTTP 动词调用了此操作? -
添加了一个示例表单。我知道当我收到一封电子邮件时表单调用了该函数,它只是空白。
标签: c# .net asp.net-mvc asp.net-mvc-4