2014-11-25 4 views
0

2 시간 동안 솔루션을 찾고 문제가 발생했습니다. 대상 : 클라이언트 작성/편집 ... clientIDMode가있는 asp 필드가있는 대화 상자를 빌드합니다.엔티티 프레임 워크의 데이터가 javascript/Jquery 대화 상자에 표시됩니다.

나는 그것을 내에서의 gridview를
 $("#btnShowDialog").click(function() { 
      openDialog(); 
}); 
function openDialog() { 
      $("#divDialog").dialog('open'); 
      $("#divDialog").parent().appendTo($("form:first")); 
     } 

I 버튼이 잘 작동 btnShowDialog 클릭

...하지만 그 아래

스크립트에서
<div id="divDialog" runat="server" clientidmode="Static" style="display: none;"> 
    <div class="DialogFields"> 
     <asp:Label ID="Label1" runat="server" Text="Firstname"></asp:Label> 
     <br /> 
     <asp:TextBox ID="tbxFirstName" runat="server" ClientIDMode="Static"></asp:TextBox> 
    </div> 
... 

코드 숨김에서

<asp:TemplateField> 
      <ItemTemplate> 
       <asp:LinkButton ID="Edit" OnCommand="Edit_Click" CommandArgument='<%#Eval("RelationID") %>' 
        runat="server"><img src="../images/Edit-item.png" alt="Edit" /></asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 

(비 대화 상자에서 모든 필드에 특정 데이터) LoadInfo를 commandargument에서 매개 변수를 사용하고 화재 : 편집 버튼 (ASP :하는 LinkButton)와 같은 코드 숨김에 이벤트와 함께이 보인다.

LoadInfo(e.CommandArgument != null ? int.Parse(e.CommandArgument.ToString()) : -1); 

하지만 대화 상자가 열리지 않습니다. 나는이 LoadInfo 후

ClientScript.RegisterStartupScript(this.GetType(), "Popup", "openDialog();", true); 

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "openDialog();", true); 

을 시도 btnShowDialog 버튼을 누르고 그것은 대화와 장소에 완벽하게 모든 데이터를 엽니 다.

Directly to Jquery 함수로 다른 방법을 시도해도 모든 데이터가로드되고 대화 상자가 열립니다. 2 문제는 대화 상자가 열리기 전에 codebehind에서 로딩이 시작되지 않았다는 것을 의미합니다. 그리고 코드 숨김에서 정적 함수 만 가져올 수 있습니다. 나를 대신 할 땅이 많지만, 어떤 몸이라도 나를 도울 수있다. ... 고맙습니다

답변

0

질문을 올바르게 이해하면 서버 쪽에서 일부 클라이언트 스크립트 (openDialog)를 실행하려고하는데 화재는 발생하지 않습니까?

페이지를 업데이트 패널에 배치 해보십시오. 업데이트 패널의 이름을 "MyUpdatePanel"이라고 가정하십시오. 그런 다음 업데이트 패널을 다음과 같이 참조하십시오.

ScriptManager.RegisterStartupScript(MyUpdatePanel, MyUpdatePanel.GetType(), "MyUpdatePanelScript", "openDialog();", true); 
+0

MarzSocks, Thanx를 참조하십시오. 전체 페이지에서 updatepanel을 사용하면 전혀 작동하지 않습니다. 대화 상자 div 주위에 배치했고 설명한대로 동일한 기능을 가지고 있습니다. – Dinand

+0

죄송합니다. 첫 코멘트에 시간이 없습니다 ... MarzSocks, 고맙습니다. 전체 페이지 (두 번째 컨텐츠 부분의 마스터 페이지)를 중심으로 업데이트 패널을 사용하면 전혀 작동하지 않습니다. 대화 상자 div 주위에 배치, 내가 설명한 것과 동일한 기능을 가지고. 두 경우 모두 scriptmanager 행을 실행하지만 경고 ('test')는 실행됩니다. opendialog() 함수가 팝업되지 않습니다. 버튼을 직접 클릭하면 팝업이 나타납니다. – Dinand

관련 문제