2017-06-13 64 views
0

我正在致力于电子商务网站。最后,我需要整合我正在使用payuBiz的支付网关。在解析Trasaction infromation to payu时,我注意到Request.Form的值为空&这就是为我创建问题的原因。此外,如果我不使用母版页,代码工作正常。它不能与母版页一起工作。使用母版页时Request.Form不工作

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它在按钮上点击事件 – SUN

+0

只是为了调试,你可以在那个事件中断,并且在Inmmediate窗口'Request.Form.ToString()'中运行并共享结果? – hardkoded

回答

0

当使用母版页中,name和控制的id被重命名为这样的事情。

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

而当你确实使用ClientID用于客户端的目的(因此得名),像JavaScript才能得到正确的ID,但在形式发布name用于获取价值。因此,使用UniqueID

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

但是,你通常会为什么不使用的值,比如string value = TextBox1.Text;

+0

您的意思是像这样Request.Form [TextBox1.Text]。但我也试过,但仍然得到空值。如果你看到我的帖子,我已经把If Ife condistion。在这种情况下,如果发生任何空值,它将进入If条件,该条件只是显示验证注释,即emply feilds – SUN

相关问题