[英]Unable to use <% … %> in a client side button click event
我正在尝试根据查询字符串中的值重定向到其他页面。 这是一个asp.net Web表单页面。 单击取消按钮后,应执行以下js。 该按钮是devexpress按钮。
function OnCancelClick(s, e) {
if (confirm('If you leave this page, you have to reselect the benefits. Are you sure to leave this page?')) {
var callingPage = document.getElementById("<%= CallingPage.ClientID %>").value;
alert("Calling Page: " + callingPage);
if (callingPage == "AddEmployee.aspx") {
window.location.href = ResolveUrl('~/Member/Maintenance/AddEmployee.aspx?from=VerifyPage');
} else if (callingPage == "AddDependentMember.aspx") {
}
}
CallingPage是asp隐藏字段的ID。 我在页面加载期间设置其值。 甚至在加载此页面之前,我就无法修改控件集合,因为控件包含代码块(即<% ... %>
)错误。 不确定是否是由于devexpress按钮控件或其他原因引起的。
将CallingPage.ClientID分配给具有公共可访问性的服务器端页面变量:
public partial class <class / page name> : System.Web.UI.Page
{
public string callingPage = "";
protected void Page_Load(object sender, EventArgs e)
{
this.callingPage = CallingPage.ClientID;
...
}
}
然后在您的JavaScript中:
var callingPage = document.getElementById("<%= this.callingPage %>").value;
实际上,这是与devexpress控件相关的独特问题。 看来我们不能在devexpress按钮click事件的js客户端click事件中使用<%%>。 相反,我使用了devexpress的隐藏控件,然后效果很好。 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.