javascript
  • sharepoint
  • dialog
  • 2011-12-15 2 views 0 likes 
    0

    데이터를 바인딩하기 위해 SharePoint Dialog에 값을 가져올 수 있습니까? 나는 전화데이터를 바인딩하기 위해 SharePoint Dialog에 값을 가져 오는 방법은 무엇입니까?

    <script type="text/javascript"> 
        //User Defined Function to Open Dialog Framework 
        function Open() { 
    
         var strPageURL = '<%= ResolveClientUrl("~/View.aspx") %>'; 
         OpenCustomDialogWithRefresh(strPageURL, 650, 400, "Add Document Type"); 
         return true; 
        } 
    </script> 
    

    JS가

    function OpenCustomDialogWithRefresh(dialogUrl, dialogWidth, dialogHeight, dialogTitle, dialogAllowMaximize, dialogShowClose) { 
    
    var options = { 
        url: dialogUrl, 
        allowMaximize: dialogAllowMaximize, 
        showClose: dialogShowClose, 
        width: dialogWidth, 
        height: dialogHeight, 
        title: dialogTitle, 
        dialogReturnValueCallback: Function.createDelegate(null, CloseCallback4) 
    }; 
    SP.UI.ModalDialog.showModalDialog(options);} 
    

    나는 View.aspx로 Id 가치를 제공하는 방법을 모르는이

    <input type="button" value="<%#((DataRowView)Container.DataItem)["Id"] %>" onclick="javascript:Open()" /> 
    

    스크립트 같은 대화 상자를 표시합니다.

    그런 다음 view.aspx 페이지에서 데이터를 채울 수 있습니다.

    미리 감사드립니다.

    답변

    1

    ID를 쿼리 문자열 매개 변수로 전달할 수 있습니다. 그게 당신의 URL 라인은 다음과 같이 할 것 :

    var strPageURL = "<%= String.Format("{0}?id={1}", 
            ResolveClientUrl('~/View.aspx'), 
            ((DataRowView)Container.DataItem)['Id']) %>"; 
    

    당신이 쿼리 문자열을 잡을 수 있어야한다 view.aspx에

    다음
    mysite.com/View.aspx?id=12345 
    

    과 같이 보이는 URL을 제공하는 'ID'키의 값.

    갱신 :

    당신이 다음 예에서와 같이이 줄을 사용하는 경우 :

    OpenCustomDialogWithRefresh(strPageURL, 650, 400, "Add Document Type"); 
    

    당신이 다시 게시에 쿼리 문자열 PARAM에 액세스 할 수 있어야합니다 :

    if (Page.IsPostBack) 
    { 
        string id = Request.QueryString["id"]; 
        // use the id here 
    } 
    
    +0

    var에 strPageURL해야한다에 있어요? – kevin

    +0

    업데이트가 더 정확한가? –

    +0

    어디에 넣어야합니까 ** var strPageURL ... **? GridView에서? 내 무지 미안해 !! – kevin

    0

    여기 내가 시도하고 해결하는 방법입니다.

    그것은 gridview에

    <input type="button" value="<%#((DataRowView)Container.DataItem)["DocTypeCode"] %>" onclick="javascript:Open('<%#Eval("Id") %>')" /> 
    

    그것은 ...을의 GridView에서 자바 스크립트

    function Open(id) { 
        var strPageURL = '<%= ResolveClientUrl("~/_layouts/RPSWA/Dialogs/DocTypeView.aspx?id=") %>' + id; 
    
    관련 문제