Tôi là một nhà phát triển Java, mới sử dụng .NET. Tôi đang làm việc trên một dự án .NET MVC2 nơi tôi muốn có một chế độ xem một phần để bọc một widget. Mỗi đối tượng tiện ích JavaScript có một đối tượng dữ liệu JSON sẽ được điền bởi dữ liệu mô hình. Sau đó, các phương pháp để cập nhật dữ liệu này bị ràng buộc với các sự kiện khi dữ liệu được thay đổi trong widget hoặc nếu dữ liệu đó bị thay đổi trong một widget khác.
Mã này là một cái gì đó như thế này:
MyController
:
virtual public ActionResult DisplaySomeWidget(int id) {
SomeModelView returnData = someDataMapper.getbyid(1);
return View(myview, returnData);
}
myview.ascx
:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SomeModelView>" %>
<script type="text/javascript">
//creates base widget object;
var thisWidgetName = new Widget();
thisWidgetName.updateTable = function() {
// UpdatesData
};
$(document).ready(function () {
thisWidgetName.data = <% converttoJSON(model) %>
$(document).bind('DATA_CHANGED', thisWidgetName.updateTable());
});
</script>
<div><%:model.name%></div>
Những gì tôi không biết là làm thế nào để gửi dữ liệu qua SomeModelView
và sau đó có thể sử dụng dữ liệu đó để điền vào tiện ích cũng như chuyển đổi dữ liệu đó thành JSON. Tôi đã thấy một số cách đơn giản thực sự để làm điều đó trong bộ điều khiển nhưng không phải trong chế độ xem. Tôi nghĩ rằng đây là một câu hỏi cơ bản nhưng tôi đã mất vài giờ để cố gắng thực hiện điều này.