Loading a partial view in jquery.dialog에서 설명한 @Darin Dimitrov의 방법을 사용하여 사용자가 자신의 비공개 메시지 중 하나를 클릭하고 모달 상자에서 볼 수 있습니다. ASP.NET MVC3과 Razor를 뷰 엔진으로 사용하고 있습니다. 하지만이 작업을 받고 몇 가지 문제가 있어요 ... 아래는 내가 지금까지 시도했습니다 것입니다 :모달 상자에서 해당 대화 열기
메시지가 표에 표시됩니다
<tr id="@item.Id" class="openConversationLink">
<td class="newMessageStatus">@MessageStatus(item)</td>
<td class="msgSenderName">@item.Sender</td>
<td class="msgSubject">@item.Subject</td>
<td class="msgLastUpdated">@item.LastUpdated</td>
<td class="modalItemActions"></td>
</tr>
그리고 같은 부분보기 내부
,<script type="text/javascript">
$(function() {
$("#conversationModal").dialog({
autoOpen: false,
width: 850,
height: 600,
resizable: false,
draggable: false,
modal: true,
open: function (event, ui) {
var convId = ui.attr('id');
alert(convId);
$(this).load('@Url.Action("Conversation", "Message", new { conversationId = convId})');
}
});
$(".openConversationLink").click(function() {
$("#conversationModal").dialog('open');
});
});
</script>
는 기본적으로, 나는 open
핸들러 내부에 event
및 ui
매개 변수를 참조 모르겠어요 : 나는 다음과 같은 스크립트 블록을 얻었다. 그래서 두 가지에 대한 약간의 설명이 감사하겠습니다. 어쨌든, 심지어는 메시지가 내가 그 오류가 점점 계속, 지금은 표시되지 않습니다 기본적으로
Compiler Error Message: CS0103: The name "convId" does not exist in the current context. Source: $(this).load('@Url.Action("Conversation", "Message", new { conversationId = convId})');
을, 나는 실제로 행 일 (대화를 엽니 다에 클릭 할 때까지 그 선이 트리거 얻을 싶지 않아 대화 상자), 메시지 페이지가 열릴 때 실제로 트리거되는 것처럼 보입니다.
UPDATE : 여기
내 jQuery 코드는 이제 : 그것에 대해 할 수있는
$(function() {
$("#conversationModal").dialog({
autoOpen: false,
width: 850,
height: 600,
resizable: false,
draggable: false,
modal: true,
open: function (event, ui) {
var convId = event.target.attr('id');
alert(convId);
$(this).load('Message/Conversation/' + convId);
}
});
$(".openConversationLink").click(function() {
$("#conversationModal").dialog('open');
});
});
뭐든지? : 당신은 더 이상 갈 전에
전적으로 의미가 있습니다. 나는 이미 그것을 알아 냈다. (그러나 여기에 코드를 업데이트하는 것을 잊었다 - 그것에 대해 유감스럽게 생각한다.) 하지만 여전히 행 ID (tr)의 값을 클릭하는 방법을 알아야합니다. 제안 사항이 있습니까? – Kassem
코드 업데이트 : – Kassem
답변 됨 편집 됨 : – neebz