Как я могу внести значение в SharePoint Dialog для привязки данных? - PullRequest
0 голосов
/ 15 декабря 2011

Как я могу внести значение в SharePoint Dialog для привязки данных? Я называю диалог как этот

<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 ]

1 голос
/ 15 декабря 2011

Вы можете передать идентификатор в качестве параметра строки запроса. Это сделало бы вашу строку URL похожей на это:

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

давая вам URL, который выглядит примерно так:

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
}
0 голосов
/ 16 декабря 2011

Вот как я пытался и решил.

это в сетке

<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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...