我有這樣的方法:檢索一個實體值添加到返回參數
private List <ReportParameter> ParametrosReporte() {
List <ReportParameter> Parametros = new List <ReportParameter>();
try {
int ? int_Ejercicio = this.radcmbEjercicio.SelectedItem == null ? 0 : this.radcmbEjercicio.SelectedValue.ToInt();
int ? int_Periodo = this.radcmbPeriodo.SelectedItem == null ? 0 : this.radcmbPeriodo.SelectedValue.ToInt();
int ? int_BSC = this.radcmbBSC.SelectedItem == null ? 0 : this.radcmbBSC.SelectedValue.ToInt();
Parametros.Add(Reportes.ParametrosReporte("pe_Ejercicio", int_Ejercicio.ToString()));
Parametros.Add(Reportes.ParametrosReporte("pe_Mes", int_Periodo.ToString()));
Parametros.Add(Reportes.ParametrosReporte("pe_BSC", int_BSC.ToString()));
catBSC _catBSC = new catBSC() {
mdUsuarioCaptura = new Entidades.Usuario() {
UsuarioID = ((Usuario) Session["User"]).UsuarioID,
}
};
Parametros.Add(Reportes.ParametrosReporte("pe_Usuario", UsuarioID));
return Parametros;
} catch (Exception ex) {
throw new System.ArgumentException("Error en ParametrosReporte", ex);
}
}
正如你可以看到我有邏輯檢索誰在爲登錄用戶:
catBSC _catBSC = new catBSC() {
mdUsuarioCaptura = new Entidades.Usuario() {
UsuarioID = ((Usuario) Session["User"]).UsuarioID,
}
};
但在此之前檢索它,我想它調用到Parametros.Add這樣的:
Parametros.Add(Reportes.ParametrosReporte("pe_Usuario", UsuarioID));
但我不能,因爲UsuarioID超出範圍,它拋出我
UsuarioID不會在目前情況下
我怎樣才能把它和重視我的存在Parametros.Add
?
您可以在新的CatBSC範圍之外創建一個局部變量,並在該範圍內爲其分配UsuarioID。 –
我嘗試了但它不工作,我不記得評論它,或者你可以顯示你的方法去做它,這可能我做了不正確的形式@AnthonyVoelker – Pepe
你嘗試在變量附近聲明變量你宣佈新的名單?我認爲使這個複雜化的事情之一是使用對象初始化 –