由于某些原因,从MVC发送短信时线路中断,无法正常工作。
我正在使用像
这样的代码Constants.cs
public struct SmsBody
{
public const string SMSPostResume=
"[ORG_NAME]"+
"[CONTACT_NUMBER]"+
"[ORG_NAME]"+
"[CONTACT_PERSON]"+
"[EMAIL]"+
"[MOBILE_NUMBER]";
}
然后我在控制器上调用这些变量,如
SmsHelper.Sendsms(
Constants.SmsSender.UserId,
Constants.SmsSender.Password,
Constants.SmsBody.SMSPostResume
.Replace("[NAME],",candidate.Name)
.Replace("[EMAIL],",candidate.Email) etc......
我的问题是,当我收到短信时,所有内容都是相同的。没有间距。
我的输出
Dearxxxxyyy@gmail.com0000000000 [QUALIFICATION] [FUNCTION] [DESIGNNATION] [PRESENT_SALARY] [LOCATION] [DOB] [TOTAL_EXPERIENCE] [GENDER]。
如何在这些之间留出空间?任何人都知道帮助我...
答案 0 :(得分:1)
将字符串部分放在不同的行上,并将它们连接起来不是换行符......部件将完全相继结束。你应该尝试在你希望换行的每个地方放一个\n
(换行符转义序列):
public const string SMSPostResume=
"[ORG_NAME]\n"+
"[CONTACT_NUMBER]\n"+
"[ORG_NAME]\n"+
"[CONTACT_PERSON]\n"+
"[EMAIL]\n"+
"[MOBILE_NUMBER]\n";
同样是基于@ finman 的评论的说明:
可能 \ r \ n 取决于服务,而不是 \ n ,但
所以你应该查看一个可以工作的API文档。
还有另一个错误:你试图在字符串常量的末尾匹配,
,原始的常量没有...
SmsHelper.Sendsms(
Constants.SmsSender.UserId,
Constants.SmsSender.Password,
Constants.SmsBody.SMSPostResume
.Replace("[NAME],",candidate.Name) // <- this line!
.Replace("[EMAIL],",candidate.Email) // <- this line!
您应该重写要包含的格式字符串,或者重写以排除,
:
SmsHelper.Sendsms(
Constants.SmsSender.UserId,
Constants.SmsSender.Password,
Constants.SmsBody.SMSPostResume
.Replace("[NAME]",candidate.Name) // <- no "," this time
.Replace("[EMAIL]",candidate.Email) // <- no "," this time
//...etc
答案 1 :(得分:1)
public const string SMSPostResume=
"[ORG_NAME]"+
"\r[CONTACT_NUMBER]"+
"\r[ORG_NAME]"+
"\r[CONTACT_PERSON]"+
"\r[EMAIL]"+
"\r[MOBILE_NUMBER]";
另外,
Replace("[NAME],",candidate.Name)
你知道在[NAME]之后你想要逗号吗?如果它不在字符串中,请不要尝试替换它。