无法在客户端按钮单击事件中使用<%...%>

ueos 发布于 2019-03-09 .net 最后更新 2019-03-09 14:38 0 浏览

我试图根据查询字符串中的值重定向到不同的页面。这是一个asp.net网页表单页面。点击取消按钮时,应执行以下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按钮控制或其他原因。
已邀请:

eipsum

赞同来自:

将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;

uharum

赞同来自:

实际上这是与devexpress控件相关的独特问题。看起来我们不能在devexpress按钮单击事件的js clientide click事件中使用< %%>。相反,我使用了devexpress的隐藏控件,然后它运行正常。 谢谢