2017-06-13 6 views
0

私は電子商取引のウェブサイトで働いています。最終的に私はpayuBizを使用している支払いゲートウェイを統合する必要があります。 PayAsへのTrasaction情報の解析中、私はRequest.Formの値が空であることに気が付きました&それは私に問題を引き起こすものです。私はマスターページを使用しない場合もコードは正常に動作します。マスターページで作業しないでくださいRequest.Formはmasterpageの使用中に動作しません

if (string.IsNullOrEmpty(ConfigurationManager.AppSettings("MERCHANT_KEY")) 
|| string.IsNullOrEmpty(txnid1) 
|| string.IsNullOrEmpty(Request.Form(amount.ClientID)) 
|| string.IsNullOrEmpty(Request.Form(firstName.ClientID)) 
|| string.IsNullOrEmpty(Request.Form(email.ClientID)) 
|| string.IsNullOrEmpty(Request.Form(phone.ClientID)) 
|| string.IsNullOrEmpty(Request.Form(productInfo.ClientID)) 
|| string.IsNullOrEmpty(Request.Form(surl.ClientID)) 
|| string.IsNullOrEmpty(Request.Form(furl.ClientID))) { 
    //error 

    frmError.Visible = true; 
    return; 
} else { 
    string myAmount = amount.Text; 
    frmError.Visible = false; 
    hashVarsSeq = ConfigurationManager.AppSettings("hashSequence").Split('|'); 
    // spliting hash sequence from config 
    hash_string = ""; 
    foreach (string hash_var in hashVarsSeq) { 
     if (hash_var == "key") { 
      hash_string = hash_string + ConfigurationManager.AppSettings("MERCHANT_KEY"); 
      hash_string = hash_string + Convert.ToString('|'); 
     } else if (hash_var == "txnid") { 
      hash_string = hash_string + txnid1; 
      hash_string = hash_string + Convert.ToString('|'); 
     } else if (hash_var == "amount") { 
      hash_string = hash_string + Convert.ToDecimal(Request.Form(hash_var)).ToString("g29"); 
      hash_string = hash_string + Convert.ToString('|'); 

     } else { 
      hash_string = hash_string + Convert.ToString((Request.Form(hash_var) != null ? Request.Form(hash_var) : "")); 
      // isset if else 
      hash_string = hash_string + Convert.ToString('|'); 
     } 
    } 

    hash_string += ConfigurationManager.AppSettings("SALT"); 
    // appending SALT 
    hash1 = Generatehash512(hash_string).ToLower(); 
    //generating hash 
    // setting URL 
    action1 = ConfigurationManager.AppSettings("PAYU_BASE_URL") + "/_payment"; 


} 
+0

どのようなイベントでそれをコーディングしていますか? – hardkoded

+0

@kblok on itボタンクリックイベント – SUN

+0

デバッグのために、そのイベントを中断して、Inmmediate Windowの 'Request.Form.ToString()'でこれを実行し、結果を共有できますか? – hardkoded

答えて

0

マスターページを使用する場合は、コントロールのnameidはこのようなものに変更されます。

<input type="test "name="ctl00$mainContentPane$TextBox1" id="ctl00_mainContentPane_TextBox1"> 

そして、あなたは確かに正しいIDを取得するために、JavaScriptなどのクライアント側の目的(それ故に名前)のためClientIDを使用していますが、nameは値を取得するために使用されるフォームのポストにいる間。だから、UniqueID

string value = Request.Form[TextBox1.UniqueID]; 

を使用しかし、なぜあなたは通常どおりstring value = TextBox1.Text;のように、値を使用していませんか?

+0

このRequest.Form [TextBox1.Text]のような意味です。しかし、私もこれを試しましたが、まだヌル値を取得しています。もしあなたが私の投稿を見るなら、私はIf Else condistionを入れます。その中で、ヌル値のいずれかが発生した場合は、表示有効化ノートであるIf条件、すなわちemply feilds – SUN

関連する問題