0

's0\\8\\26\\29\\30\\32' または 's0\\8\\26\\' または 's0\\5' という文字列が与えられた場合、最後の桁を返す必要があります文字列の。

与えられた:

 function getFolderID(mystr) {
        var reFolderID = /\bs0\\\\[0-9]+\b/g //regexp to return s0\\34
        var retArr = [];
        var retval = '';

        retArr = mystr.match(reFolderID);
        retArr = retArr[0].replace(/s0\\\\/g, "");

        if (retArr != null) {
            retval = retArr[retArr.length - 1];
        }
        //alert("Ret: " + retval);
        return retval;
    }  

最初は最初の数字だけが必要だと思っていましたが、最後の数字が必要であることがわかりました。

これに対する適切な正規表現の用語は何でしょうか?

また、返された JS 値で何かを行う ASP.Net イベント ハンドラーを作成するにはどうすればよいですか?

4

3 に答える 3

2

以下を試してみてください。フォーマットに従い、最後の数値セットをグループ化する必要があります。

/s0\\\\(?:[0-9]+\\\\)*([0-9]+)/

したがって、次のようなものです:

function getFolderID(mystr) {
    // search string for last group of digits in the pattern
    var matches = mystr.match(/s0\\\\(?:[0-9]+\\\\)*([0-9]+)/);

    // if matches is null, replace with "defaults"
    matches ||= ["", ""];

    // grab the first grouped match
    return matches[1];
}

ASP.NET イベントに関しては、おそらく Ajax を使用する必要があります。たとえば<asp:UpdatePanel />、Ajax ライブラリ (jQuery、Prototype など) を使用するか、選択したものを使用します。

Ajax がなければ、JavaScript と ASP.NET が同時に実行されることはありません。

于 2009-10-28T05:48:41.403 に答える
1

この方法で、文字列の最後の桁を一致させることができます。

function getFolderId(str) {
    var pattern = /([0-9]+)$/;
    var result = pattern.exec(str);
    return result ? result[1] : null;
}
于 2009-10-28T05:16:37.750 に答える
0

Javascriptパラメータをサーバーに返す問題について...

私は2つのASP.Net隠しフィールドを作成し、次にJSでこれらのフィールドの値を設定しました...出来上がり-コードビハインドから入手できます:

    // set .net hidden control values so they're server-side accessible
    document.getElementById('ctl00_ContentPlaceHolderMainBody_HidTreeContextAction').value = buttonAction;
    document.getElementById('ctl00_ContentPlaceHolderMainBody_HidTreeContextID').value = buttonFolder;

<asp:HiddenField ID="HidTreeContextAction" runat="server" />
<asp:HiddenField ID="HidTreeContextID" runat="server" />

1) ユーザーがツリー ノードを右クリック 2) コンテキスト メニューが表示される 3) コンテキスト メニュー項目を選択すると、非表示の値を設定する JS が起動される 4) ajax スタイルのウィンドウが表示され、ユーザー入力を受け入れる 5) ユーザーが送信をクリックする6) 両方のパラメーターが使用され、データの内容/場所が決定されます

これはちょっとしたハックかもしれませんが、AJAX を使用していません。これが ajax スタイルでどのように行われるかを誰かが共有したいと思っているなら、素晴らしいことです!

他の誰かがそれを必要とする場合に備えて、この簡単な修正を共有したいと思いました.

于 2009-10-28T19:27:01.177 に答える