Lidan随笔记(原)
来源:互联网 发布:sql中with as的用法 编辑:程序博客网 时间:2024/05/02 01:00
--------编写人:Lidan
此博文,专属个人随手记录些小知识点:
1. 一个Webpart,加载了A,B两个用户控件,以上下形式排版,现在需要在A用户控件中,调用B用户控件方法:
解决方案:
在A用户控件按钮中,使用反序列化方法MethodInfo,来进行对B用户控件的调用
A用户控件中的Button按钮事件:
protected void btnCreate_Click(object sender, EventArgs e)
{
Control control = this.Parent.FindControl("B用户控件ID");
MethodInfo mi = control.GetType().GetMethod("GetData");
mi.Invoke(control, new object[]{ "1", "2"});
}
B控件中的方法:
public void GetData(string str1, string str2)
{
...此处略
}
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2. 后台调用js
string script = "<script language='javascript'>ModifyName();</script>";
ScriptManager.RegisterStartupScript(Page, GetType(), "Modify", script, false);
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. SharePoint 2013 Webpart 属性
[WebBrowsable(true)]
[WebDisplayName("Url")]
[Category("自定义")]
[Personalizable(true)]
public string strUrl
{
get;
set;
}
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4. SharePoint 2013使用模式对话框
业务逻辑:
在A页面中,存放一个DSWebpart,点击上面的一个Button按钮,加载一个应用程序页App.aspx,应用程序页上有"确定","取消"两个按钮。
确定按钮:关闭对话框,刷新主页面
取消按钮:关闭对话框,不刷新主页面
DSWebpart代码:
-------------------------------------------
//创建弹出模式对话框方法
function CreateDialog()
{
var options={
URL: '/_Layouts/15/ABC/Pages/ADD.aspx',
width:475,
height:200,
title:"XXX",
dialogReturnValueCallback: function(dialogResult, returnValue){
CloseCallBack(dialogResult, returnValue);
}
};
SP.SOD.executeFunc(
'sp.ui.dialog.js',
'SP.UI.ModalDialog.showModalDialog',
function(){
SP.UI.ModalDialog.showModalDialog(options);
});
}
//关闭模式对话框后,主页面动作方法
function CloseCallBack(){
if(value == "1"){
//刷新主页面
window.location.href = window.location.href;
}
else if(value == "0"){
alert("无需刷新");
}
}
应用程序页App.aspx代码:
-------------------------------------------
确定按钮调用的方法:
function closeDialogOK(){
SP.SOD.executeFunc(
'sp.ui.dialog.js',
'SP.UI.ModalDialog.showModalDialog',
function(){
SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.closeDialogOK, 1);
});
}
取消按钮调用的方法:
function closeDialogCancel(){
SP.SOD.executeFunc(
'sp.ui.dialog.js',
'SP.UI.ModalDialog.showModalDialog',
function(){
SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.closeDialogCancel, 0);
});
}
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
5. ReportViewer导出Excel,弹出对话框让用户选择保存路径
public static void ExportReport(ReportViewer reportViewer, string reportName)
{
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string extension;
byte[] bytes = reportViewer.ServerReport.Render(
"Excel", null, out mimeType, out encoding, out extension,
out streamids, out warnings);
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename="+reportName + "_" +DateTime.Now().ToString("yyyyMMdd")+".xls");
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.End();
}
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
6. 在SharePoint 中,在后台关闭模式对话框(此方案经验证,在SharePoint 2010,2013均可用)
string script = "<script language='javascript'>window.frameElement.commonModalDialogClose(1, 1);</script>";
ScriptManager.RegisterStartupScript(Page, GetType(), "Modify", script, false);
//前面的1为关闭对话框结果状态,相当于SP.UI.DialogResult.OK
//后面的1为关闭对话框返回标识,可在documentDialogCallback函数中取得此值,再执行你所需操作
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ScriptManager.RegisterStartupScript(this, this.GetType(), "OK!", "alert('这是一个提示对话框!');window.location='Lidan.aspx'", true);
--Over
8. 当SharePoint配置了FBA后(Forms Based Authentication),所有访问的页面,都会跳转到预先设置好的登录页面。
当执行了方法:
bool flag = SPClaimsUtility.AuthenticateFormsUser(Context.Request.Url, userName, userPass);
if(flag)
{
Response.Redirect("XXX");
}
后,就可以成功跳转了。
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
9. 在Page页面判断用户所使用设备与系统
Request.Browser.Platform.ToLower().StartsWith("win") //用户使用PC机登录,且为windows系统
或使用Page.Request.UserAgent
--Over
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- Lidan随笔记(原)
- Excel PowerView实践一(原)----Lidan制作
- 近日随笔(KK记)
- 暴雨随笔记(二)
- Python随笔记(函数)
- [随笔]面朝南京,我们都是孤臣孽子(作者:刘原)
- 设计模式随笔系列:开篇-模式和原则 [原]
- 设计模式随笔系列:开篇-模式和原则 [原]
- Ubuntu系统升级之原系统备份与还原(随笔)
- JavaSE随笔——原码反码补码
- 随笔记
- 随笔记
- 随笔记
- 随笔记
- 随笔记
- 随笔记
- 随笔记
- 随笔(@)
- MongoDB 数据导入 mongoimport
- 线程同步
- mysql笔记5---一些常用函数
- Oracle SYSTEM表空间说明
- MySQL bug:server-id默认被自动置为1
- Lidan随笔记(原)
- 一天掌握HTML
- 单生产单消费多生产多消费问题的解决及使用机制
- HDU3715 2-SAT
- jQuery 遍历 (笔记)
- oracle 索引查找
- JAVA平台的搭建
- Eclipse 中 PHP Editor 关联 CakePHP *.ctp 文件 高亮显示
- RelativeLayout