1

由于某些原因,从 MVC 发送 SMS 时换行,无法正常工作。

我正在使用类似的代码,

常量.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][DESIGNATION][PRESENT_SALARY][LOCATION][DOB][TOTAL_EXPERIENCE][GENDER] 这样。

如何在这些之间留出空间?有谁知道帮帮我...

4

2 回答 2

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] 之后使用逗号吗?如果它不在字符串中,请不要尝试替换它。

于 2013-03-25T12:11:08.877 回答
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
于 2013-03-25T12:07:10.353 回答