Hướng dẫn call js in cshtml - gọi js trong cshtml

0

Show

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi khá mới với MVC. Tôi đang cố gắng gọi chức năng JavaScript từ trang xem (Nhấp vào nút) nhưng tôi không thể gọi nó. Tôi có chức năng JavaScript trong tệp riêng biệt. Tôi đã thêm tham chiếu của tệp tập lệnh trong trang xem (CSHTML) . Mã số:

  

Chức năng JavaScript

function IsFirstNameEmpty() {
    if (document.getElementById('TxtFName').value == "") {
        return 'First Name should not be empty';
    }
    else { return ""; }
}

Hướng dẫn call js in cshtml - gọi js trong cshtml

War10ck

12.2k7 Huy hiệu vàng41 Huy hiệu bạc51 Huy hiệu Đồng7 gold badges41 silver badges51 bronze badges

Đã hỏi ngày 22 tháng 7 năm 2016 lúc 13:47Jul 22, 2016 at 13:47

5

Ví dụ đơn giản: https://jsfiddle.net/8mhul839/

Bạn làm mọi thứ tốt đẹp (tôi tin tưởng những lời của bạn về việc bạn đã bao gồm chính xác tệp js). Nhưng bạn chỉ không làm bất cứ điều gì với chuỗi trả về của bạn.

Trong ví dụ của tôi, tôi chỉ đặt văn bản vào cảnh báo. Có thể bạn muốn hiển thị văn bản này trong một số nhãn, sau đó chỉ cần thực hiện tiếp theo:

document.getElementById('LblValidation').value = returnedText;

Trong đó LblValidation là ID của một số nhãn sẽ chứa chuỗi của bạn và returnedText là chuỗi mà bạn cố gắng quay lại từ chức năng của mình.

 
 
 
 

Đã trả lời ngày 22 tháng 7 năm 2016 lúc 14:08Jul 22, 2016 at 14:08

Hướng dẫn call js in cshtml - gọi js trong cshtml

demodemodemo

5,83616 Huy hiệu vàng69 Huy hiệu bạc144 Huy hiệu đồng16 gold badges69 silver badges144 bronze badges

Nói chung, không có sự khác biệt giữa những gì bạn đã làm mà không có mô hình MVC. Chỉ chú ý đến thực tế là nếu tập lệnh nằm trong một trang một phần, nó có thể được thực thi nhiều hơn một lần hoặc không trong thời điểm bạn mong đợi (ví dụ: bạn có thể gọi một hàm trước khi nó được xác định vì thứ tự tải một phần). Trong kịch bản đơn giản này, tôi nghĩ rằng bạn chỉ cần chắc chắn rằng tập lệnh chứa định nghĩa của hàm thực sự được bao gồm trong trang web kết quả. Cách đơn giản nhất để làm điều này là bằng cách kiểm tra nguồn trang trong trình duyệt.

Đã trả lời ngày 22 tháng 7 năm 2016 lúc 13:55Jul 22, 2016 at 13:55

  • Xóa khỏi các diễn đàn của tôi

  • Câu hỏi

  • Người dùng-893002196 đã đăng

    Chào mọi người,

    Tôi có mã như dưới đây:-

    function modifyDisplay(className, display) {
                
                    //display is a boolean indicating weather to display the class or to hide it
                    var el = document.getElementsByTagName('span');
                    for (var i = 0, l = el.length; i < l; i++) {
                        var classes = el.getAttribute('class').split(' ');
                        var hasClass = false;
                        for (var c in classes)
                            if (classes[c] == className) {
                                el.style.display = display ? "inline" : "none";
                                hasClass = true;
                                break;
                            }
                        if (!hasClass)
                            el.style.display = !display ? "inline" : "none";
                    }
             }
    
                
              
        
            $(document).ready(function () {   
             
              @if (@Session["export"] == "") {
                  @function(){
                  modifyDisplay("downloadexcel", false); 
                  } 
                }  

    Tôi đã gặp lỗi:

    Thông báo lỗi trình biên dịch: CS0103: Tên 'Hàm' không tồn tại trong bối cảnh hiện tại

    Xin vui lòng tư vấn.

    Cảm ơn bạn.

    Regards,

    Micheale

Câu trả lời

  • User831885415 Đăng

    Tất cả mã này phải bên trong thẻ script

    @section scripts{