使用单引号在javascript中构建字符串

使用单引号在javascript中构建字符串,javascript,asp.net-mvc,string,razor,Javascript,Asp.net Mvc,String,Razor,嗨,我想用javascript构建一个字符串。我肯定我错过了一些东西。我已经试了很久了 '@StringUtils.FormatStringParameter(ValidationMessages.ContractDeleteBudgetValidation,'+ data + ')' 数据是我想要传递的变量。FormatStringParameter是我在C#中拥有的一个实用程序类。我想在javascript中使用该实用程序类 public static string FormatStr

嗨,我想用javascript构建一个字符串。我肯定我错过了一些东西。我已经试了很久了

'@StringUtils.FormatStringParameter(ValidationMessages.ContractDeleteBudgetValidation,'+ data + ')'
数据是我想要传递的变量。FormatStringParameter是我在C#中拥有的一个实用程序类。我想在javascript中使用该实用程序类

  public static string FormatStringParameter(string strng, params object[] listParameters)
    {
        return String.Format(strng, listParameters);
    }

  public const string ContractDeleteBudgetValidation = "Contract has been budgeted. Are you sure you want to {0} ?";
在c#中,当您使用单引号括住字符时,它将尝试创建
System.char
的对象。但是当你这样做的时候,你应该总是传递一个字符。在您的示例中,您正在传递多个字符(
'+data+'
)。你要走了 若要获取错误,请执行“字符文字中的字符太多”

如果
data
是一个c#变量,那么应该这样调用它

var yourJsVariable = '@StringUtils.FormatStringParameter(
                         ValidationMessages.ContractDeleteBudgetValidation, data )';
alert(yourJsVariable);

你有什么问题?我也不确定这有什么错,但它不是在说,它是说+出乎意料的,我们需要更多的上下文来帮助你。为什么结尾有一个“,”以及什么是
@StringUtils.FormatStringParameter
?我认为您缺少了一个重要的标记,并且您有一个不应该存在的标记(
javascript
)——这不是一个javascript问题。data是我想作为参数传递给FormatStringParameter方法的字符串变量在javascript中它起作用
@StringUtils.FormatStringParameter(ValidationMessages.ConfirmMessage,“XYZ”)
但是我想发送字符串变量来代替“xyz”。您可以检查一下如何在javascript中实现这一点吗。这简直要了我的命是的,这也行。您正在传递字符串,而不是使用保存字符串值的变量。该字符串变量是javascript变量:(您不能将js变量传递给c#代码,因为您的c#方法甚至在客户端代码执行之前就在服务器中执行。看起来您只是在添加字符串。为什么不直接在js代码中执行呢?这很有意义。我会这样做。非常感谢。