这在您尝试执行此操作的方式中是不可能的,因为 Razor 是在服务器端处理的,而 JavaScript 是在客户端处理的。
您可以选择的一种方法是要求服务器Common.ReplaceSpecialCharactersInURL
使用 Ajax 请求进行调用,如下所示:
服务器:
public ActionResult ReplaceCharacters(string url) {
string result = Common.ReplaceSpecialCharactersInURL(url);
return Json(new { result });
}
客户:
<script type="text/javascript">
var SuppName= obj.data('suppliername');
// Using jQuery Ajax here.
$.post('@Url.Action("ReplaceCharacters")', { url: SuppName },
function (data) {
var newUrl = data.result;
// newUrl here is the result of Common.ReplaceSpecialCharactersInURL
}
);
</script>
另一种选择是创建服务器端函数的 JavaScript 版本 ( ReplaceSpecialCharactersInURL
),但在某些情况下,这可能非常困难,甚至是不可能的。
额外的:
我不知道你是做什么的ReplaceSpecialCharactersInURL
,但你应该检查encodeURIComponent
JavaScript 函数,以防它可以帮助你解决这个特定问题。