如何为SharePoint Dialog带来绑定数据的值?

时间:2011-12-15 02:05:04

标签: javascript sharepoint dialog

如何为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页面中填充数据。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以将ID作为查询字符串参数传递。这会使你的网址行看起来像这样:

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

您应该能够在postBack上访问查询字符串参数:

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

答案 1 :(得分: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;