asp 服务器控件通过 ——dopostback 传递触发事件的控件名称和参数, 如果控件只有一个触发事件,参数为空。服务器通过这两个参数知道是哪个控件触发了什么事件
example:
button
<asp:Button ID=“submitNewCustButton” runat=“server” type=“button”
class=“ui-button ui-widget ui-state-default ui-corner-all
ui-button-text-only” OnClientClick=“javascript:submitData();”
role=“button” aria-disabled=“false”>
js
function submitData() {
__doPostBack(‘submitNewCustButton’, JSON.stringify({ code: arr[selected_position].key, name: arr[selected_position].value, error:
false })); }
.cs onload
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (IsPostBack)
{
string target = Request.Params["__EVENTTARGET"];
string argument = Request.Params.Get("__EVENTARGUMENT");if (target == "submitNewCustButton" && argument != null) { JavaScriptSerializer js = new JavaScriptSerializer(); JsonCustomer item = js.Deserialize<JsonCustomer>(argument); CustSearch(item.code); } if (target == "accountBalance") { AccountBalanceLinkButtonClick(); } if (target == "ssAddToCart" && argument != null) { ssAddToCart(argument); } } } js事件顺序 事件的捕获 return f
alse 事件的发生 事件的冒泡 return true