một thay thế cho chức năng thoát javascript trong C# cho ví dụ như giả sử một chuỗi: "Hi Foster của tôi đang thiếu/bạn" sẽ cung cấp cho "Hi% 20Foster% 27s% 20i% 27m% 20missing% 20/bạn "nếu chúng ta sử dụng chức năng thoát javascript, nhưng thay thế cho C# là gì. tôi đã tìm kiếm nó nhưng không sử dụng.C# thay thế cho chức năng thoát javascript
Trả lời
string myString = "Hello my friend";
myString = myString.Replace(" ", "%20");
Điều này sẽ thay thế tất cả "" bằng "% 20".
Đây có phải là những gì bạn muốn không?
HttpUtility.UrlEncode() thực hiện điều đó cho bạn – Emmanuel
Giải pháp tốt nhất mà tôi đã xem được đề cập trên blog này - C#: Equivalent of JavaScript escape function bởi Kaushik Chakraborti. Có nhiều hơn để thoát javascript hơn chỉ đơn giản là mã hóa url hoặc thay thế không gian với các thực thể.
+1 Có chức năng 'escape' là một con thú duy nhất và URLEncode đơn giản là không hoạt động giống nhau. –
@Dan Diplo: thnx buddy, nhưng tôi đã thấy rằng, không sử dụng – FosterZ
Trong câu trả lời tôi đã đăng, tôi đã đưa mã từ Reflector cho hàm này –
Tiếp theo là việc thực hiện escape
chức năng mà bạn sẽ tìm thấy trong Microsoft.JScript.dll ...
[NotRecommended("escape"), JSFunction(JSFunctionAttributeEnum.None, JSBuiltin.Global_escape)]
public static string escape(string str)
{
string str2 = "ABCDEF";
int length = str.Length;
StringBuilder builder = new StringBuilder(length * 2);
int num3 = -1;
while (++num3 < length)
{
char ch = str[num3];
int num2 = ch;
if ((((0x41 > num2) || (num2 > 90)) &&
((0x61 > num2) || (num2 > 0x7a))) &&
((0x30 > num2) || (num2 > 0x39)))
{
switch (ch)
{
case '@':
case '*':
case '_':
case '+':
case '-':
case '.':
case '/':
goto Label_0125;
}
builder.Append('%');
if (num2 < 0x100)
{
builder.Append(str2[num2/0x10]);
ch = str2[num2 % 0x10];
}
else
{
builder.Append('u');
builder.Append(str2[(num2 >> 12) % 0x10]);
builder.Append(str2[(num2 >> 8) % 0x10]);
builder.Append(str2[(num2 >> 4) % 0x10]);
ch = str2[num2 % 0x10];
}
}
Label_0125:
builder.Append(ch);
}
return builder.ToString();
}
Mã lấy từ Reflector.
var unescapedString = Microsoft.JScript.GlobalObject.unescape(yourEscapedString);
var escapedString = Microsoft.JScript.GlobalObject.escape(yourUnescapedString);
Giải pháp tốt nhất mà tôi đã nhìn thấy được đề cập trên blog này - C#: tương đương về chức năng thoát JavaScript bằng cách Kaushik Chakraboti. Có nhiều hơn để thoát javascript hơn chỉ đơn giản là mã hóa url hoặc thay thế không gian với các thực thể.
Tôi nhận thấy một giải pháp khác trong các nhận xét trong bài viết KodeSharp có thể tốt hơn. Nhận xét cho biết nó tương thích hơn với UTF-8 và không yêu cầu tham chiếu đến JScript. Tốt hơn chưa?
(Phụ thuộc vào System.Web.Extensions.dll)
using System.Web.Script.Serialization;
JavaScriptSerializer serialiser = new JavaScriptSerializer();
serialiser.Serialize("some \"string\"")
Tôi đã thử giải pháp này, nhưng unescape Javascript không "deserialize" nó. Tôi sẽ phải ném nó vào Refelector để xem nó thực sự làm gì. – evodev
Bạn có thể sử dụng:
string encoded = HttpUtility.JavaScriptStringEncode(str);
Lưu ý: Bạn cần ít nhất ASP.NET 4.0 để chạy mã trên .
- 1. chức năng thoát trong chính
- 2. Thay thế chức năng không thay thế
- 3. thay thế cho chức năng ngủ
- 4. thay thế cho PHP exec() chức năng
- 5. Thoát khỏi chức năng sớm?
- 6. Thay thế tốt nhất cho typedef cho mẫu chức năng?
- 7. Làm cách nào để thoát khỏi chức năng javascript?
- 8. Cách thay thế cho chức năng "$ (tài liệu). Đã có"
- 9. chức năng Javascript móc
- 10. Chức năng thay thế trong iostream.h cho getch() của conio.h?
- 11. Làm thế nào để thoát khỏi một chức năng đỉnh?
- 12. Chức năng thay thế để dán
- 13. C cảnh báo tiềm ẩn cảnh báo chức năng 'thoát'
- 14. Sơ đồ cho các chức năng JavaScript
- 15. Chức năng getCookie Javascript
- 16. Javascript: thông số "Infinite" cho chức năng?
- 17. Javascript addEventListener chức năng
- 18. Nguồn mở thay thế cho chức năng fmincon của MATLAB?
- 19. Thay thế cho chức năng chế độ Scipy trong Numpy?
- 20. Đa chức năng thử nghiệm thay thế cho system.time
- 21. python: thay thế cho các chức năng ẩn danh
- 22. Chuyển chức năng cho hàm Powershell (thay thế)
- 23. Python làm thế nào để thoát khỏi chức năng chính
- 24. Thoát của Unescape JavaScript() bằng C#
- 25. Chức năng Javascript toFixed
- 26. Chức năng từ 'thay thế' kiểu lớp
- 27. thay thế các ví dụ chức năng
- 28. Javascript - Thay thế ký tự thoát trong một chuỗi chữ
- 29. C chức năng để thoát chuỗi cho đối số lệnh shell?
- 30. Thay đổi giá trị "này" chức năng trong JavaScript
bạn đang cố gắng làm gì? –
guys, tôi đã thử nghiệm followin 'nhưng không ai trong số họ thay thế báo giá duy nhất "'". Uri.EscapeDataString ("một số văn bản") Uri.EscapeUriString ("một số văn bản") System.Web.HttpUtility.UrlEncode ("một số văn bản") System.Web.HttpUtility.UrlPathEncode ("một số thext") – FosterZ