我有一个aspx页面,其中包含一些控件和一个Button。
<asp:Button ID="savebtn" runat="server" OnClick="savebtn_Click" Style="display: none" />
我使用此按钮使用此按钮的单击事件触发邮件包。
//For post back
$(document).ready(function () {
var id = document.getElementById('<%= savebtn.ClientID %>');
//causes post back
id.Text = "postback";
id.click();
});
现在在页面加载时我想知道哪个控件导致了回发。
我使用下面的代码来找出哪个控件导致postpack但返回null。可能是因为我从JavaScript触发了邮件包。
private Control GetControlThatCausedPostBack(Page page)
{
//initialize a control and set it to null
Control ctrl = null;
//get the event target name and find the control
string ctrlName = Page.Request.Params.Get("__EVENTTARGET");
if (!String.IsNullOrEmpty(ctrlName))
ctrl = page.FindControl(ctrlName);
//return the control to the calling method
return ctrl;
}
请帮忙
答案 0 :(得分:1)
调用click事件可确保保存按钮将导致回发。您是否希望通过不将代码放在服务器端方法(savebtn_Click)中来实现特定功能?
<强>更新强>
如果您想使用名称按钮点击多个select2控件,请尝试How to use __doPostBack()。
如果您只有一个select2,请将代码放在按钮的事件中,并使用以下任一方法提取值:
selectedValueFromRequest = Request["Select"]
OR
selectedValueFromControl = Select.SelectedValue