Làm cách nào tôi có thể thêm ký hiệu và giá trị trong giá trị tệp cấu hình ứng dụng ASP.net/C#


209

Tôi đã có một chương trình C # với các giá trị trong tệp cấu hình. Điều tôi muốn là lưu trữ ký hiệu cho một giá trị url như ...

<appSettings>
  <add key="myurl" value="http://www.myurl.com?&cid=&sid="/>
</appSettings>

Nhưng tôi nhận được lỗi xây dựng trang web của tôi. Dấu và không được phép. Tôi đã thử nhiều hình thức thoát khỏi dấu và không có kết quả. Bất cứ ai biết các hình thức chính xác để làm điều này? Tất cả các đề xuất đều được chào đón.

Câu trả lời:


420

Sử dụng " &amp;" thay vì "&".


2
Tôi nghiêm túc nghĩ rằng tôi đã thử điều này. Tôi nghĩ rằng tôi đã bỏ lỡ dấu ";" cuối cùng. Dù sao nó cũng hoạt động vì vậy cảm ơn phản hồi Eric.
Rob Segal

6
Điều này hoạt động, nhưng tôi phải đặt một chuỗi.Replace ("& amp;", "&") bất cứ khi nào tôi truy cập cài đặt này, nếu không trình duyệt sẽ không phát hiện đúng khi bạn nhấp vào liên kết: /
DLeh

Chà ... thật đáng thất vọng. Ý tôi là, Trình quản lý cấu hình không tự động hủy hiển thị các & xyl; ký tự khi lấy chúng từ tệp cấu hình.
Efrain

@Efrain không chắc chắn những gì DLeh đang nói về chính xác, nhưng unescape chắc chắn hoạt động tốt. Chỉ cần thử nghiệm điều này với tiêu chuẩn appSettingscũng như một NameValueCollectionphần tùy chỉnh : dấu và không được bỏ qua đúng trên cả hai.
julealgon

@DLeh Nếu bạn đang làm việc với ViewBag trong tệp .cshtml, bạn sẽ cần gọi Html.Rawtệp .cshtml của mình để ngăn khung thoát khỏi khung.
dùng700390

25

Bạn đã thử điều này?

<appSettings>  
  <add key="myurl" value="http://www.myurl.com?&amp;cid=&amp;sid="/>
<appSettings>


0

Mặc dù câu trả lời được chấp nhận ở đây là đúng về mặt kỹ thuật, dường như có một số nhầm lẫn giữa những người dùng dựa trên các bình luận. Khi làm việc với ViewBag trong tệp .cshtml, bạn phải sử dụng @Html.Rawnếu không dữ liệu của bạn, sau khi không được Trình quản lý cấu hình, sẽ được thoát lại một lần nữa. Sử dụng Html.Raw()để ngăn chặn điều này xảy ra.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.