我有一个字符串,从viewmodel传递给视图的字符(地址)。我将地址设置为javascript / jquery使用的变量。但如果我有一个像
这样的字符串“Alamo Square Park,Steiner St& Hayes Street,San Francisco,CA 94117,USA”
当我在我的剃刀视图文件中设置变量时,就像这样
var viewModelFormattedAddress = @ Html.Raw(Model.FormattedAddress);
我收到错误!
如果我只是将引号中的值作为字符串传递给变量,它会将特殊字符转换为非HTML字符,如此
“Alamo Square Park,Steiner St& amp Hayes Street,San Francisco,CA 94117,USA”
如果我这样做
var viewModelFormattedAddress =“@ Model.FormattedAddress”;
我不想要这个,因为我必须将其转换回来。
为什么在进行@Html.Raw()调用时会抛出错误?
更新 -
这是我正在尝试的
var viewModelFormattedAddress = @Html.Raw(Json.Encode(Model.FormattedAddress)).ToString();
这是错误
https://localhost:44368/Home/Events?date=7/19/2017&formattedaddress=Alamo+Square+Park,+Steiner+St+&+Hayes+Street,+San+Francisco,+CA+94117,+USA&latitude=37.7763694&longitude=-122.434819&maptype=establishment \ n \ n \ nSCRIPT1002中第41行第297行的JavaScript严重错误:语法错误
这就是它在动态页面中显示的内容
var viewModelFormattedAddress = "Alamo Square Park, Steiner St \u0026 Hayes Street, San Francisco, CA 94117, USA";
答案 0 :(得分:2)
我想你忘记了引号......试试这个:
var viewModelFormattedAddress = "@Html.Raw(Model.FormattedAddress)";
而不是
var viewModelFormattedAddress = @Html.Raw(Model.FormattedAddress);