如何使用 javascript 在 updatepanel 中获取回传元素?
How to get postback element in updatepanel using javascript?
有没有办法使用 javascript 找出更新面板中的回发元素?
我尝试了下面的代码,但 args.get_postBackElement().id 未定义。
script>
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
try {
args.get_request().set_userContext(args.get_postBackElement().id);
}
catch (e) {
}
}
function EndRequestHandler(sender, args) {
try {
if (args.get_error() == undefined) {
var sName = args.get_response().get_webRequest().get_userContext();
if (sName == "btnDetails") {
//DoSomething();
}
else {
//DoSomethingelse();
}
}
}
catch (e) {
}
}
试试这个
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
var postBackElementID;
function BeginRequestHandler(sender, args) {
try {
postBackElementID = args.get_postBackElement().id.substring(args.get_postBackElement().id.lastIndexOf("_") + 1);
}
catch (e) {
}
}
</script>
args.get_postBackElement() returns 如果控件在更新面板内则为 null。
尝试使用以下属性找出元素:
sender._postBackSettings.async - 检测请求是否异步。
sender._postBackSettings.asyncTarget - 获取异步回发控件名称
$("*[name='sender._postBackSettings.asyncTarget']").attr('id') - 获取异步回发控件名称的 id。 sender._postBackSettings.async目标应替换为值
有没有办法使用 javascript 找出更新面板中的回发元素?
我尝试了下面的代码,但 args.get_postBackElement().id 未定义。
script>
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
try {
args.get_request().set_userContext(args.get_postBackElement().id);
}
catch (e) {
}
}
function EndRequestHandler(sender, args) {
try {
if (args.get_error() == undefined) {
var sName = args.get_response().get_webRequest().get_userContext();
if (sName == "btnDetails") {
//DoSomething();
}
else {
//DoSomethingelse();
}
}
}
catch (e) {
}
}
试试这个
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
var postBackElementID;
function BeginRequestHandler(sender, args) {
try {
postBackElementID = args.get_postBackElement().id.substring(args.get_postBackElement().id.lastIndexOf("_") + 1);
}
catch (e) {
}
}
</script>
args.get_postBackElement() returns 如果控件在更新面板内则为 null。
尝试使用以下属性找出元素:
sender._postBackSettings.async - 检测请求是否异步。
sender._postBackSettings.asyncTarget - 获取异步回发控件名称
$("*[name='sender._postBackSettings.asyncTarget']").attr('id') - 获取异步回发控件名称的 id。 sender._postBackSettings.async目标应替换为值