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。我在页面加载期间设置它的值。即使在加载此页面之前,我也无法修改 Controls 集合,因为该控件包含代码块(即<% ... %>)错误。不确定是由于 devexpress 按钮控制还是其他原因。

4

2 回答 2

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;
于 2013-04-11T16:36:23.537 回答
0

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

于 2013-04-12T17:33:12.270 回答