1
我有一个不使用任何asp.net控件的用户控件(例如foo.ascx)。我没有按钮点击事件或任何我可以依赖的事件。所以下面不是一个选项:如何捕获和触发回发用户控件的自定义事件
void Page_Load(object sender, EventArgs e) {
MyButton.Click += MyButton_Click; // <-- I can't do this, there are no asp.net controls
}
void MyButton_Click(object sender, EventArgs e) {
OnItemSelected("foo"); // fire my custom event
}
我需要触发一个ItemSelectedEvent。我知道如何使方法和事件,像这样
public event EventHandler<MyEventArgs> ItemSelected;
void OnItemSelected(string selectedItem) {
var tmp = ItemSelected;
if (tmp != null)
tmp(this, new MyEventArgs { SelectedItem = selectedItem });
}
我需要在客户端网站上的JavaScript做些什么来表明我正在射击的ItemSelected
事件(即如何发布到服务器正确),以及什么是否需要在页面后面的代码中实现以捕获该信息并致电我的OnItemSelected
方法?
JavaScript本身不能调用服务器端事件。您必须创建一个'WebMethod'或将其转换为MVC,才能从JavaScript调用服务器端代码。 –