有些系统上面的配置可以做成config里面的appsetting。这里要求写在json文件里面。
首先 添加命名空间
using Newtonsoft.Json;
using System.IO;
using Newtonsoft.Json.Linq;
using System.Web;
下面是我json文件里面的内容 因为西门下面的序号是 变动的就写在配置文件里面也好修改
{
"StatisticalChart": {
"0": "/Common/CountReport/DefaultStatis",
"68": "/Common/CountReport/CustomerManagerStatis",
"98": "/Common/CountReport/FirstExamineStatis",
"84": "/Common/CountReport/QualityCheckStatis",
"112": "/Common/CountReport/ElectricFinalCheckStatis",
"70": "/Common/CountReport/ExecutiveDirectorStatis"
},
"NameGetCode":{
"Default": "0",
"CustomerManager": "68",
"FirstExamine": "98",
"QualityCheck": "84",
"ElectricFinalCheck": "112",
"ExecutiveDirector": "70"
}
}
下面是读取StatisticalChart节点里面的内容 power权限参数 用户登录之后获得。
/// <summary>
/// 通过角色读取配置文件返回地址
/// </summary>
/// <param name="power">权限编号</param>
/// <returns></returns>
public static string GetUrlByPower(string power)
{
string url = "";
try
{
//文件路径
string jsonfile = HttpContext.Current.Server.MapPath($"\\App_Data\\config\\StatisticalChartConfig.json");
//打开文件
System.IO.StreamReader file = System.IO.File.OpenText(jsonfile);
//加载问卷
JsonTextReader reader = new JsonTextReader(file);
//转化为JObject
JObject ojb = (JObject)JToken.ReadFrom(reader);
//读取StatisticalChart节点
var list = ojb["StatisticalChart"].ToString();
JObject jo = (JObject)JsonConvert.DeserializeObject(list);
var dat = jo[power];
if (dat == null)
url &