2011-12-15 62 views
0

如何爲SharePoint對話框添加值以綁定數據? 我所說的對話框這樣如何爲SharePoint對話框添加值以綁定數據?

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

腳本

<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);} 

我不知道如何把ID值到View.aspx。

然後我可以在view.aspx頁面中填充數據。

在此先感謝。

回答

1

您可以將ID作爲查詢字符串參數傳遞。這將使你的URL行是這樣的:

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

給你一個網址,看起來像

mysite.com/View.aspx?id=12345 

然後view.aspx你應​​該能夠抓住查詢字符串「ID」鍵的值。

更新:

如果您使用此行就像在你的例子:

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

,你應該能夠訪問在回發的查詢字符串PARAM:

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

VAR strPageURL ...應該是在GridView? – kevin 2011-12-15 03:02:29

0

這是我嘗試和解決的方式。

它在GridView

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

它是JavaScript

function Open(id) { 
    var strPageURL = '<%= ResolveClientUrl("~/_layouts/RPSWA/Dialogs/DocTypeView.aspx?id=") %>' + id; 
相關問題