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

时间:2013-04-11 16:26:05

标签: javascript asp.net .net inline-code

我正在尝试根据查询字符串中的值重定向到不同的页面。这是一个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按钮控制或其他因素。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

实际上这是与devexpress控件相关的独特问题。看起来我们不能使用&lt; %%&gt;在js客户端单击事件中的devexpress按钮单击事件。相反,我使用了devexpress的隐藏控件,然后它工作正常。 感谢