2010-05-18 5 views
0

안녕하세요, js 팝업 창이 있습니다. 내가 asp.net에서 사용했지만 그것은 asp.net의 MVC에서 작업하는 사람이 어떻게 페이지에서 MVCasp.net mvc에서 팝업 창을 호출하는 방법?

<script type="text/JavaScript"> 
function openUserSavedListDetailsPopUp(id) { 
    dhtmlmodal.open('UserInfo', 'iframe', 
      'UserSavedListDetails.aspx?listId=' + id, 
      '', 'width=710px,height=150px,center=1,resize=0,scrolling=0') 
} 
</script> 

에이 코드를 사용하는 말해 줄 수 없습니다 : 사전

<a href="#" onclick='openUserSavedListDetailsPopUp(<%# DataBinder.Eval(Container.DataItem, "OrderId")%>)' > hello </a> 

당신을 감사합니다

답변

0

MVC 앱에서 (아마도) 작동하지 않는 문은 <%# DataBinder.Eval(...) %>을 호출합니다. MVC에서는 for 루프 또는 모델을 반복하는 항목이 있다고 가정합니다. 이 같은 아마 뭔가? *

<% foreach(var item in Model) 
{ %> 
    <a href="#" onclick='openUserSavedListDetailsPopUp(<%: item.OrderId %>)>hello</a> 
<% } %> 

내가 대신 자바 스크립트 인라인을 가진의 OnClick 이벤트를 연결하는, 예를 jQuery를하기 위해, 자바 스크립트 라이브러리의 몇 가지 유형을 사용하는 것이 좋습니다 것입니다. 이 특별한 경우에 jQuery는 애플리케이션에 많은 가치를 추가하지 않을 수 있지만 (코드가 더 깨끗할 것이라는 점을 제외하면), 실제로 ajax 호출에서 DOM 조작 및 애니메이션에 이르는 모든 작업에 도움이됩니다.

마지막으로 자바 스크립트를 지원하지 않는 (또는 사용 중지 한) 브라우저의 경우 대체해야합니다. 쉬운 방법이 귀하의 링크를 변경하는 것입니다 :

<a href="urltothepopupcontentpage.html?id=<%: item.OrderId %>" onclick='openUserSavedListDetailsPopup(<%: item.OrderId %>); return false'>hello</a> 

return false에 통화가 스크립트를 실행할 수 있는지 보장 할 것이다, 그것은 (링크 아래) 기본 동작을 중지합니다.

*) 참고 : <%= Html.Encode(...) %> 대신 <%: ... %>을 사용하려면 ASP.NET 4를 사용해야합니다. .NET 3.5를 실행하는 경우 보통 = 기호를 사용합니다.

관련 문제