【发布时间】:2015-01-31 22:04:16
【问题描述】:
我有一个小项目,我有一个问题。用户填写表格并提交后,我希望在 textarea 中用<li></li> 换行。
所以基本上我有以下代码。
<textarea name="Questions"></textarea>
在另一个 submit.cshtml 中,我希望在发送电子邮件之前用<li></li> 包装每个换行符。所以电子邮件将包含以下内容
- 问题 1
- 问题 2
- 问题 3
- 问题 4
文本区域中的信息存储在一个名为Questions 的变量中
我希望将每个新行的变量分解为 <li></li> 并将新值存储在名为 EmailBody 的第二个变量中,以包含在电子邮件中。
我知道如何在 PhP 中做到这一点,但在 Razor 视图引擎中我有点不知所措。 提前致谢!
更新 通过修改 Aron 的代码来解决它。
foreach (var line in Questions.Split('\n'))
{
EmailBody = EmailBody + "<li>" + @line + "</li>";
}
【问题讨论】:
-
什么意思?将
EmailBody包含在电子邮件中是什么意思?似乎您正在以非标准方式使用 Razor(您不是在编写 MVC 视图)。我认为您需要使用sscce 进行扩展。 -
正确,我没有为这个项目使用 MVC 视图。主要是因为该站点只包含几个 .cshtml 页面。一个您可以发送问题的地方。 Questions.cshtml 该页面的表单包含 submit.cshtml 有一个看起来像这样的变量 var Questions = Request["Questions"];我希望将每个新行拆分为问题变量
- 并将新值存储在一个名为 EmailBody 的变量中,该变量将在发送电子邮件时包含在电子邮件助手中。我只寻找拆分问题 /n 并将
- 存储在 EmailBody 中。
-
你根本没有任何意义。你是什么意思存储在 EmailBody 中。你没有道理。 Razor 是一个视图引擎。您想在 C# 行中编写吗?如果是这样......请不要。 Razor 是一个视图引擎。您正在考虑逻辑,它可能会起作用……但是就像在电视内安装汽油发电机一样。同样可能会触电你......
-
通过修改你的代码来解决这个问题。感谢您的帮助