0
我有进来的表示域的用户名,从剃刀视图的方法,经由JS称为字符串:未能更换反斜杠
<script type="text/javascript">
function editResource() {
...
var user = '@Context.User.Identity.Name';
$.post(url, ... skipped
});
}
</script>
控制器:
public string SaveDeprecatedResource(string resource, string newResource, string description, string user, string ticket)
{
user = user.Replace("\\", "\\\\"); // how do I replace with double backslash?
用户自带到控制器等于 “DOMAIN \ v-用户”
用户对象是字符串:
user.GetType()
{Name = "String" FullName = "System.String"}
[System.RuntimeType]: {Name = "String" FullName = "System.String"}
我需要插入它插入到数据库(LINQ),但它吃反斜杠。基本上我需要用\\
替换\
,我没有这么做。我究竟做错了什么?
user.Contains(@"\")
false
user.Contains(@"\\")
false
user.Contains("\\")
false
user.Contains('\\')
false
EDIT,所以反斜杠不是反斜杠,但即\v
被视为垂直制表符。无论如何,反斜杠后可以是任何字母的字母。我如何普遍处理它?
_“进入方法”_ - 它来自哪里,它看起来像什么? – CodeCaster
您是否在某处设置了DOMAIN \用户,或者是从文本框还是其他一些UI控件中读取?如果你在代码中设置它,你需要在前面加上@,比如user = @“DOMAIN \ user”; –