Tôi đang cố gắng gọi một phương thức điều khiển từ javascript và dường như tôi gặp sự cố khi thực hiện chính xác phương thức này. Tôi có rất ít kinh nghiệm với javascript và đã làm theo các ví dụ khác về cách thực hiện việc này từ stackoverflow nhưng tôi vẫn gặp một số vấn đề- nếu có ai đó có thể trợ giúp thì điều đó thật tuyệt vời
Về cơ bản những gì tôi đang cố gắng làm là thiết lập một. thẻ dữ liệu trên đối tượng javascript thành chuỗi được trả về bởi một phương thức trên bộ điều khiển [phương thức này gọi một dịch vụ web chạy chức năng Máy chủ SQL]. Phương thức cần được truyền một tham số được sử dụng trong hàm
Mã dưới đây
Mã Javascript
for [var i = 0; i < stats.length; i++]
{
var stat = stats[i].data['id'];
var color = CallService[stat];
this.node.fill = color;
}
Phương pháp truy vấn
function CallService[id] {
$.ajax[{
url: '@Url.Action["CallService", "NodeController"]',
type: 'GET',
dataType: 'json',
cache: false,
data: { 'id': id },
success: function [color] {
return color;
},
error: function [] {
alert['Error occured'];
}
}];
}
Phương pháp điều khiển
[HttpGet]
public JsonResult CallService[string id]
{
var idNum = Convert.ToInt32[id];
var StationService = new getStationStatus.Service1SoapClient["Service1Soap"];
string color = StationService.getStationStatus[idNum];
return Json[color, JsonRequestBehavior.AllowGet];
}
bộ điều khiển được gọi là NodeController- đó là những gì tôi đang đề cập đến trong url. cuộc gọi của ajax
Về cơ bản những gì đang xảy ra là khi tôi chạy trang, lần đầu tiên tôi gặp lỗi nói rằng nó không thể thiết lập điều này. nút. điền vào một giá trị null SAU ĐÓ tôi nhận được thông báo rằng đã xảy ra lỗi - như tôi đã nói rằng tôi khá thiếu kinh nghiệm với javascript nên tôi thực sự không chắc liệu nó có đang gọi phương thức theo đúng thứ tự hay không nếu tôi gặp lỗi về điều này. nút. điền trước khi tôi nhận được thông báo lỗi từ JQuery
Khi viết code MVC bạn không thể quên jQuery. jQuery đóng góp đáng kể để làm cho ứng dụng của bạn nhanh hơn
Sau đây là những gì sẽ được thảo luận
- sử dụng $. được[]
- sử dụng $. bưu kiện[]
- sử dụng $. ajax[]
- sử dụng URL [kiểu JavaScript]
Khi viết mã jQuery, bạn cần lưu ý một điều là bạn cần giảm thiểu việc tải/làm mới trang
http. // blog. mặt trăng. com/Trang chủ/Trang blog?blogid=4
$. phương thức nhận []
- Gọi hành động điều khiển không có tham số
Bộ điều khiển
- chuỗi công khai SaveEmployeeRecord[]
- {
- chuỗi res = "đây là giá trị trả về";
- trả về độ phân giải;
- }
- $. get["/Home/SaveEmployeeRecord",null, hàm [dữ liệu] {
- cảnh báo [dữ liệu];
- }];
- Gọi hành động điều khiển với tham số
Bộ điều khiển
- chuỗi công khai SaveEmployeeRecord[tên chuỗi]
- {
- chuỗi res = tên;
- trả về độ phân giải;
- }
- $. get["/Home/SaveEmployeeRecord", {name. 'Deepak'}, chức năng [dữ liệu] {
- cảnh báo [dữ liệu];
- }];
- Gọi hành động điều khiển với tham số trả về dữ liệu JSON
Bộ điều khiển
- công khai JsonResult SaveEmployeeRecord[string id,string name]
- {
- chuỗi this_id = id;
- chuỗi this_name = tên;
- return Json[mới {id=this_id,name = this_name },JsonRequestBehavior. AllowGet];
- }
- $. get["/Home/SaveEmployeeRecord", {id. '67', tên. 'Deepak'}, chức năng [dữ liệu] {
- }];
$. phương thức đăng []
Cú pháp và cách sử dụng phương thức post giống như phương thức get. Ở đây thay vì sử dụng từ khóa get, hãy sử dụng từ khóa bài đăng và tất cả những thứ khác đều giống nhau
Trong bài viết này, tôi sẽ giải thích bằng một ví dụ, cách gọi hàm [phương thức] Phía máy chủ với các tham số từ JavaScript bằng jQuery AJAX trong ASP. Dao cạo Net MVC
trong ASP. Net MVC, mã phía Máy chủ nằm bên trong Bộ điều khiển và do đó bài viết này sẽ minh họa cách gọi phương thức Hành động của Trình điều khiển từ JavaScript trong ASP. Dao cạo Net MVC
Lưu ý . Dành cho người mới bắt đầu trong ASP. Net MVC, vui lòng tham khảo bài viết của tôi ASP. Hướng dẫn về Net MVC Hello World với ví dụ về Chương trình mẫu.
Kiểu mẫu
Sau đây là một lớp Model có tên là PersonModel với hai thuộc tính i. e. Tên và Ngày Giờ
lớp công khai PersonModel
{
///
/// Nhận hoặc đặt Tên.
///
công khai chuỗi Tên { nhận; set; }
///
/// Lấy hoặc đặt DateTime.
///
công khai chuỗi Ngày giờ { nhận; set; }
}
Bộ điều khiển
Bộ điều khiển bao gồm hai phương thức Hành động
Phương thức hành động để xử lý thao tác GET
Bên trong phương thức Hành động này, chỉ cần trả về Chế độ xem
Phương thức hành động để xử lý hoạt động jQuery AJAX
Phương thức Hành động này xử lý cuộc gọi được thực hiện từ hàm jQuery AJAX từ Chế độ xem
Lưu ý . Phương thức Hành động sau đây xử lý các cuộc gọi AJAX và do đó, kiểu trả về được đặt thành JsonResult.
Giá trị của tham số name được gán cho thuộc tính Name của đối tượng PersonModel cùng với DateTime hiện tại và cuối cùng đối tượng PersonModel được trả về dưới dạng JSON cho hàm jQuery AJAX
lớp công khai Trình điều khiển gia đình. Bộ điều khiển
{
// NHẬN. Trang chủ
công khai ActionResult Index[]
{
return View[];
}
[HttpPost]
công khai JsonResult AjaxMethod[chuỗi name]
{
PersonModel person = new PersonModel
{
Tên = tên,
Ngày Giờ = Ngày Giờ. Hiện nay. ToString[]
};
return Json[person];
}
}
Lượt xem
Bước tiếp theo là thêm Chế độ xem cho Trình điều khiển và trong khi thêm, bạn sẽ cần chọn lớp PersonModel đã tạo trước đó
Bên trong Chế độ xem, ngay dòng đầu tiên, lớp PersonModel được khai báo là Mô hình cho Chế độ xem. Chế độ xem bao gồm phần tử Hộp văn bản HTML và Nút. Nút đã được chỉ định một trình xử lý sự kiện nhấp chuột jQuery và khi Nút được nhấp, jQuery AJAX được gọi được tạo cho phương thức hành động của Bộ điều khiển
Hình dưới đây mô tả một lệnh gọi jQuery AJAX trong ASP. mạng MVC
URL cho lệnh gọi jQuery AJAX được đặt thành phương thức hành động của Bộ điều khiển i. e. /Trang chủ/Phương thức Ajax. Giá trị của Hộp văn bản được truyền dưới dạng tham số và phản hồi trả về được hiển thị bằng Hộp thông báo cảnh báo JavaScript