2012-01-13 2 views
1

http://msdn.microsoft.com/en-us/library/system.web.ui.datavisualization.charting.chart.click.aspxКак поднять ClickEvent из Microsoft Chart Control?

Обработчик события:

protected void Chart1_Click(object sender, ImageMapEventArgs e) 
{ 
     //stuff 
} 

Я хотел бы поднять это событие вручную.

public ActionResult HistoricalDrillDown(int reportID, string postBackValue) 
{ 
    string sessionKey = string.Format("HistoricalReport: {0}", reportID); 
    LineChart lineChart = (LineChart)Session[sessionKey]; 

    ImageMapEventArgs imageMapEventArgs = new ImageMapEventArgs(postBackValue); 
    //Raise lineChart.Click() using ImageMapEventArgs 
} 

Я чувствую, что я довольно близко - я просто не знаю, как передать событие с помощью ImageMapEventArgs. Кто угодно?

Благодаря

ответ

1

Вы должны переместить свой код в отдельный метод и вызвать этот метод из обработчика.

Вызов обработчиков событий - это плохая практика.

+0

Я просто подумал, что лучше всего поднять мероприятие, а не делать мою логику для сверления общественного метода. –

+0

Нет; лучше включить эту логику в частный метод. Он должен принимать требуемые логические параметры ('sessionKey'?), И вы должны извлекать эти параметры в обработчике кликов. – SLaks

+0

Я бы хотел, если бы мог :) Промежуточные шаги, когда я медленно, но верно интегрирую код ASP.NET AJAX в MVC. Спасибо, хотя - я буду следовать этому совету и поставлю TODO, чтобы сделать его приватным, когда это возможно. –