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」; –