在new出以上支持类型后,通过Model.InitParamByProject显示出来,显示对话框后,通过.value获取值,如下
//bool类型
BoolParam paramBase = new BoolParam("测试布尔类型", "测试布尔类型说明", true);
//string类型
StringParam strBase = new StringParam("测试字符串", "测试字符串说明", "默认字符串");
//显示对话框
Model.InitParamByProject("测试所有对话支持类型",null, paramBase, strBase);
//获取值
var bl = paramBase.Value;
@using RazorEngine;
@using DbModels;
@inherits RazorEngine.Templating.TemplateBase
@using System.Text;
@{
//=========================配置开始=========================================
//输出文件名
Model.Config.OutFileName = "所有支持类型";
//输出文件后缀
Model.Config.OutFileSuffix = "cs";
//只输出1个文件
Model.Config.IsSingleFile = true;
//bool类型
BoolParam paramBase = new BoolParam("测试布尔类型", "测试布尔类型说明", true);
//string类型
StringParam strBase = new StringParam("测试字符串", "测试字符串说明", "默认字符串");
//选择类型
SelectParam selectParam = new SelectParam("测试选择类型", "选择类型说明", "中文", "中文", "英文", "日文");
//文件类型
FileParam fileParam = new FileParam("请选择文件", "请选择文件说明", @"C:\Users\Administrator\Desktop\1.xps", "xps文件|*.xps");
//目录类型
DirParam dirParam = new DirParam("请选择目录", "请选择目录说明", @"C:\");
//整形类型
IntParam intParam = new IntParam("测试整数", "测试整数说明", 18);
//双浮点数
DoubleParam doubleParam = new DoubleParam("测试浮点数", "测试浮点数相关说明", 88888.88);
//显示对话框
Model.InitParamByProject("测试所有对话支持类型",null, paramBase, strBase, selectParam, fileParam, dirParam, intParam, doubleParam);
//=========================配置结束=========================================
}
//bool类型
交互后结果:@paramBase.Value
//string类型
交互后结果:@strBase.Value
//选择类型
交互后结果:@selectParam.Value
//文件类型
交互后结果:@fileParam.Value
//目录类型
交互后结果:@dirParam.Value
//整形类型
交互后结果:@intParam.Value
//双浮点数
交互后结果:@doubleParam.Value
如果在一个项目中批量生成所有模板,每个模板都需要显示同样的对话框,并获取相同的值,很是不妥。
这里采用了共享对话框的形式,批量生成时,只要显示1次对话框,所有模板共用值,如:
共享对话框定义
@using RazorEngine;
@using DbModels;
@inherits RazorEngine.Templating.TemplateBase
@using System.Text;
@{
//string类型
StringParam strBase = new StringParam("请输入一段话", "输入测试内容", "腾讯体育2月10日讯 昨天是大年初五,按照我国传统习俗,这一天应该“破五”吃饺子。辽宁男篮中锋韩德君就在个人社交平台上晒出了包饺子的照片,并祝所有人初五快乐,值得一提的是,此举引来了郭艾伦的调侃。");
//显示对话框
Model.InitParamByProject("批量生成数据共享对话框","12C6C1AE-63BC-4DEF-B141-AE536BCA4956",
strBase);
//传值回去
ViewBag.Ret = strBase.Value;
}
使用共享框,只要在适当位置调用@Include即可显示对话框,内可以访问对话框中的内容。如
@Include("_共享引用对话框")
@{
//这里获取共享对话框数据
var getvalue = ViewBag.Ret;
}