如何为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页面中填充数据。
提前致谢。
答案 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;