Helpex - Trao đổi & giúp đỡ Đăng nhập
7

Khi chuyển giá trị boolean từ bộ điều khiển sang chế độ xem bằng ViewData, làm cách nào để truy xuất giá trị đó dưới dạng giá trị boolean trong javascript? thí dụ:

Bộ điều khiển:

ViewData["login"] = true;

Lượt xem

    <script type="text/javascript">
var login = <%= (bool)ViewData["Login"] %>;   /// this doesn't work, throw javascript error;
</script>

chắc chắn là tôi có thể làm được

  <script type="text/javascript">
var login = '<%= ViewData["Login"] %>';   /// now login is a string 'True'
</script>

Nhưng tôi muốn giữ đối tượng đăng nhập dưới dạng boolean thay vì một chuỗi nếu điều đó có thể.

7 hữu ích 0 bình luận 15k xem chia sẻ
7

Chỉ cần loại bỏ các dấu ngoặc kép.

<script type="text/javascript">
    var login = <%= (bool)ViewData["Login"] ? "true" : "false" %>;
</script>

Điều này sẽ dẫn đến:

var login = true;

Nó sẽ được phân tích cú pháp dưới dạng boolean trong trình duyệt.

7 hữu ích 0 bình luận chia sẻ
0

Tôi tin rằng bạn có thể làm được điều này:

<script type="text/javascript"> 
    var login = new Boolean(<%= (bool)ViewData["Login"] ? "true" : "false" %>);
</script> 

chỉnh sửa: thực ra cách đầu tiên tôi có nó sẽ không hoạt động. Các giá trị true / false được chuyển đến Boolean () phải là chữ thường để giá trị này hoạt động.

0 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ javascript asp.net asp.net mvc , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading