0

重複の可能性:
c# から javascript に変数を渡すにはどうすればよいですか?

ログイン中にユーザー資格情報を検証する C# メソッドがあります。

public string CreateLoginjson(string strErrorType, bool blIsAuthenticated)
{
    StringBuilder sbLoginJson = new StringBuilder();
    if (blIsAuthenticated)
    {
        sbLoginJson.Append("{LoginSuccess:1");
    }
    else
    {
        sbLoginJson.Append("{LoginSuccess:0");
    }

    if (strErrorType != string.Empty)
    {
        if (strErrorType.TrimEnd(new char[] { ',' }) == "Token")
        {
            sbLoginJson.Append(",txtTestTokenNumber1:\"Error\"");
            sbLoginJson.Append(",txtTestTokenNumber2:\"Error\"");
            sbLoginJson.Append(",txtTestTokenNumber3:\"Error\"");
            sbLoginJson.Append(",txtTestTokenNumber4:\"Error\"");

        }
        else if (strErrorType.TrimEnd(new char[] { ',' }) == "Password")
        {
            sbLoginJson.Append(",txtPassword:\"Error\"");

        }
        else if (strErrorType.TrimEnd(new char[] { ',' }) == "UserName")
        {
            sbLoginJson.Append(",UserName:\"Error\"");

        }

    }
    sbLoginJson.Append("}");

    return sbLoginJson.ToString();


}

次に、文字列 sbLoginJson を Javascript 関数に渡す必要があります。これは、ユーザーがログインの詳細を提供できなかったかどうかを確認します。

これまで書いてきたJava Script関数。

function GetLoginJson(strLoginJson) {
    if (strLoginJson != "" && strLoginJson != undefined) {
        var objLoginJson = eval('"+strLoginJson+"');
    }
    if(objLoginJson.sbLoginJson())
    {

    }
    else
    {

    }
}

誰かが文字列を渡して機能させる方法を教えてもらえますか? 前もって感謝します

4

4 に答える 4

2

保護されたプロパティを作成し、コードのどこかに設定します。

protected string LoginJson { get; set; }

次に、次のように使用します。

var strLoginJson = '<% =LoginJson %>';

パブリック メソッドを直接呼び出すこともできますが、メソッドが認証に関連していることを考えると、これはお勧めしません。

var strLoginJson = '<% = CreateLoginjson(a, b) %>';
于 2012-08-17T10:41:25.137 に答える
0

文字列を ViewData に入れる

于 2012-08-17T10:56:21.330 に答える
0

文字列をラベルに配置し、これらのプロパティを設定します ( Enabled="false" style="display: none;")。ラベル コンテンツに JavaScript でアクセスできます。関数が実行された後、JavaScript 関数をコードから呼び出します。以下のリンクを参照してください。

起動スクリプトまたはこの実行中の Javascript を Serveside から登録します

于 2012-08-17T10:51:10.970 に答える
0

jquery を使用できます。
ログインをクリックすると、ajax リクエストを作成して CreateLoginjson() メソッドを呼び出し、返された文字列を使用して別の JavaScript 関数に渡すことができます。

呼び出している C# メソッドはパブリックである必要があり、[WebMethod] の属性が付けられている必要があります。

jquery-ajaxリクエストの成功関数でこれを行うことができます..

$.ajax(
 {
   //other options, url,data etc.
   success: function(response) {
     GetLoginJson(response.d); // d holds your returned string.
   }
 }
);

ありがとう

于 2012-08-24T05:24:57.977 に答える