繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM