反射:InvokeMethod 活动调用多种方法的方法配置要点
MethodName: 方法名称
TargetObject: 当调用方法不为静态的时候,需要新建调用方法类实例
TargetType: 当调用方法为静态的时候,需要指定调用方法类的类型
GenericTypeArguments: 若调用方法为静态方法,则在此泛型集合中指定。
Parameters: 在此集合中指定方法参数的值
Result: 在此指定方法返回值
---------------------------------------------------
private string Action="Add";
private string BaseMethodName = "Accident{0}";
protected void btnSubmit_Click(object sender, EventArgs e)
{
try
{
string methodName = string.Format(BaseMethodName, Action);
Type thisType = this.GetType();
MethodInfo excuteMethod = thisType.GetMethod(methodName);
excuteMethod.Invoke(this, null);
}
catch (Exception ex)
{
MyLog.log.Warn(ex.Message);
QueryScript.ErrorMessageShow(this.Page, "showerr", ex.Message);
}
}
/// <summary>
/// 添加一个事故
/// </summary>
/// <returns></returns>
public void AccidentAdd()
{
MySession mySession = new MySession(this.Page);
BzAccidentEntity model = new BzAccidentEntity();
model.DATE_HAPPENED = DateTime.Parse(txtDate.Text.ToString());
model.TITLE = txtTitle.Text;
model.TYPE_ID = Int32.Parse(txtType.SelectedValue.ToString());
model.REASON = txtReason.Text;
model.SUMMARY = txtSummary.Text;
model.CREATE_MAN = mySession.getUserId();
model.DATE_CREATED = DateTime.Now;
model.ORGAN_ID = mySession.getOrganId();
int i=accBLL.AddBzAccident(model);
MyControlOption.ClearValue(this);
txtDate.Text = DateTime.Now.ToString("yyyy-MM-dd");
QueryScript.MessageShow(this.Page, "showSuc", MyPrompt.AccidentDicOptionInfo["success"].ToString());
}