0

クエリ文字列の値に基づいて別のページにリダイレクトしようとしています。これは、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ボタンコントロールによるものなのか、それとも他の何かによるものなのかはわかりません。

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 に答える