我目前正在开发一个调度应用程序,需要将当前视图模型中的数据导入模型,以便从页面加载部分视图。应该发生的是当用户单击记录行时,会弹出一个模态窗口以显示有关该记录的更多信息。
但是,我无法从模型中访问我需要的数据以发送到控制器,然后填充模态对话框。有没有人有一个很好的方法来解决这个限制或告诉我我做错了什么?谢谢!
编辑:我知道我不能使用剃刀语法来获取我的javascript中的数据。我正在寻找解决方法。
相关HTML:
<tbody>
@foreach (var s in Model.requests)
{
<tr>
<td id="@s.cliID">@s.clientName</td>
<td id="@s.projectID">@s.projectName</td>
<td id="@s.resourceID">@s.resource</td>
<td id="@s.resourceType">@s.resourceType</td>
<td id="@s.startDate">@s.startDate</td>
<td id="@s.endDate">@s.endDate</td>
<td id="@s.status">@s.status</td>
<td style="color: blue;"><u>Open link</u></td>
<td class="rowDialog"></td>
</tr>
}
</tbody>
相关JS:
$(document).ready(function () {
var $dialog = $('.rowDialog').dialog({
autoOpen: false,
width: 600,
position: { my: 'top', at: 'top+150' },
modal: true,
title: "Request View/ Approval",
dialogClass: 'alert',
draggable: false,
closeOnEscape: true,
buttons: {
"Close": function () {
$dialog.dialog('close');
}
}
});
$("tr").click(function () {
var rowClicked = $(this);
var index = rowClicked.index();
$dialog.get(
"/ScheduleRequests/RequestViewApproval",
{
// Errors thrown by these lines
'clientName' : @Model.requests[index].clientName,
'location' : @Model.requests[index].location,
'projectName' : @Model.requests[index].projectName,
'resource' : @Model.requests[index].projectName,
'startDate' : @Model.requests[index].startDate,
'endDate' : @Model.requests[index].endDate,
'monHours' : @Model.requests[index].monHours,
'tuesHours' : @Model.requests[index].tuesHours,
'wedHours' : @Model.requests[index].wedHours,
'thursHours' : @Model.requests[index].thursHours,
'friHours' : @Model.requests[index].friHours
}
);
$dialog.dialog("open");
});
});
答案 0 :(得分:1)
我最初通过将AJAX调用移动到单独的函数并将所需的值作为变量传递来解决此问题。但是,正如我最近发现的那样,可以通过简单地用引号括起来访问Javascript中的剃刀视图代码。我觉得有点傻,但是嘿,学习。