ฉันเป็นผู้พัฒนา Java, ใหม่สำหรับ. NET ฉันกำลังทำงานกับโครงการ. NET MVC2 ที่ฉันต้องการให้มีมุมมองบางส่วนเพื่อห่อวิดเจ็ต วัตถุวิดเจ็ต JavaScript แต่ละตัวมีวัตถุข้อมูล JSON ที่จะถูกเติมด้วยข้อมูลแบบจำลอง ดังนั้นวิธีการอัปเดตข้อมูลนี้จะถูกผูกไว้กับเหตุการณ์เมื่อมีการเปลี่ยนแปลงข้อมูลในวิดเจ็ตหรือหากข้อมูลนั้นมีการเปลี่ยนแปลงในวิดเจ็ตอื่น
รหัสเป็นดังนี้:
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>
สิ่งที่ฉันไม่ทราบคือวิธีการส่งข้อมูลไปเป็นSomeModelView
แล้วจากนั้นสามารถใช้เพื่อเติมวิดเจ็ตรวมทั้งแปลงเป็น JSON ฉันได้เห็นวิธีง่าย ๆ จริง ๆ ในการควบคุม แต่ไม่ใช่ในมุมมอง ฉันคิดว่านี่เป็นคำถามพื้นฐาน แต่ฉันพยายามทำไปสักสองสามชั่วโมง