2012-06-25 52 views
0

我有2个意见,一个名为PostToPalPal如下和DomainConfirmationView。在DomainConfirmationView上,我有一个链接到PostToPayPal的按钮,然后通过post事件重定向到paypal。我遇到的问题是,当我点击这个按钮时,它什么也不做。我已经在另一个页面上工作,但是我只在页面顶部有@model dynamic,其余的都是HTML。有没有人有想法,我错了?道歉,如果这真的是愚蠢的,这是我第一次去MVC。链接之间的意见

感谢

@model application.Models.PayPal 

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 
<html> 
<head> 
    <title>Index</title> 
    <script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script> 
</head> 
<body> 
    <form id="frm" [email protected]> 
    @Html.HiddenFor(model => model.cmd) 
    @Html.HiddenFor(model => model.business) 
    @Html.HiddenFor(model => model.no_shipping) 
    @Html.HiddenFor(model => [email protected]) 
    @Html.HiddenFor(model => model.cancel_return) 
    @Html.HiddenFor(model => model.notify_url) 
    @Html.HiddenFor(model => model.currency_code) 
    @Html.HiddenFor(model => model.item_name) 
    @Html.HiddenFor(model => model.amount) 
    </form> 
    <p style="text-align: center"> 
     <h4> 
      <img src="../../Images/New-LogoPNG.png" /> 
      <br /> 
      You are now being redirected to Paypal...</h4> 
    </p> 
</body> 
</html> 
<script type="text/javascript" language="javascript"> 
    $(this.document).ready(function() { 
     var frm = $("form"); 
     frm.submit(); 
    }); 
</script> 

DomainConfirmationView

@model Application.Models.DomainCustomerDetails 
@using (Html.BeginForm("PostToPayPal", "Home")) 
{ 
<input type ="hidden" name="item" value= ".com"/> 
<input type = "hidden" name="amount" value="10" /> 

} 
@{ 
    ViewBag.Title = "Domain order placed"; 
} 

    @{ 
     String Input = "Hi" +".&lt;BR /&gt;&lt;BR /&gt;" 
      + "You have a new domain order that has been placed." 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Domain Details" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Domain name:" + Model.DomainName 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Domain duration " + Model.DomainDuration 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Domain order type" + Model.OrderType 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.FirstName 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.LastName 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.BusinessName 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.Address 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.Address2 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.PostalCode 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.EmailAddress 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.ContactNumber 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Kind regards" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "xxx" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Email: [email protected]" 
      + "&lt;BR /&gt;&lt;BR /&gt;"; 

     String Output = Server.HtmlDecode(Input); 

      WebMail.SmtpServer = "mail.xxx.com"; 
      WebMail.SmtpPort = 25; 
      WebMail.EnableSsl = false; 
      WebMail.UserName = "[email protected]"; 
      WebMail.Password = "xxxx"; 
      WebMail.From = "[email protected]"; 
      WebMail.Send("[email protected]", "You have a new domain order " + Model.DomainName,Output); 



    } 

    @{ 
     String Inputorder = "Hi " + Model.FirstName 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "We are pleased to say your domain name " + Model.DomainName + "has been ordered." 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Domain Details" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + Model.DomainName 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Domain duration" + Model.DomainDuration 
      + "&lt;BR /&gt;&lt;BR /&gt;"  
      + "What to do next" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Server IP" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      +"Name Server 1:" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      +"Name Server 2:" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      +"MX:" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      +"A:" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      +"CNAME:" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "PLEASE NOTE" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Please allow 24 hours for any DNS changes to take effect due to DNS caching by your ISP." 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Many thanks for your order" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Kind regards" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "xxx" 
      + "&lt;BR /&gt;&lt;BR /&gt;" 
      + "Email: [email protected]" 
      + "&lt;BR /&gt;&lt;BR /&gt;"; 


     String Outputorder = Server.HtmlDecode(Inputorder); 

      WebMail.SmtpServer = "mail.xxx.com"; 
      WebMail.SmtpPort = 25; 
      WebMail.EnableSsl = false; 
      WebMail.UserName = "[email protected]"; 
      WebMail.Password = "xxx"; 
      WebMail.From = "[email protected]"; 

      WebMail.Send(Model.EmailAddress, "Your new domain order: " + Model.DomainName,Outputorder); 



    } 



<p>Thank you, almost done</p> 

<p>Please click the purchase button to continue</p> 
<input type ="submit" name="btsubmit" value= "Purchase"/> 

I also have a controller called DomainsController 



     [HttpPost] 
      public ActionResult PostToPayPal(string item, string amount) 
      { 
       YippeeYay.Models.PayPal paypal = new Models.PayPal(); 
       paypal.cmd = "_xclick"; 
       paypal.business = ConfigurationManager.AppSettings["BusinessAccountKey"]; 

       bool useSandbox = Convert.ToBoolean(ConfigurationManager.AppSettings["UseSandbox"]); 
       if (useSandbox) 
        ViewBag.actionURL = "https://www.sandbox.paypal.com/cgi-big/webscr"; 
       else 
        ViewBag.actionURL = "https://www.paypal.com/cgi-bin/webscr"; 

       paypal.cancel_return = System.Configuration.ConfigurationManager.AppSettings["CancelURL"]; 
       [email protected] = ConfigurationManager.AppSettings["ReturnURL"]; 
       paypal.notify_url = ConfigurationManager.AppSettings["NotifyURL"]; 

       paypal.currency_code = ConfigurationManager.AppSettings["CurrencyCode"]; 

       paypal.item_name = item; 
       paypal.amount = amount; 
       return View(paypal); 
      } 

回答

1

本节:

@using(Html.BeginForm("PostToPayPal", "Home")) 
{ 
    // Form goes in here 
} 

...是什么写你的标签,这就需要包含您的提交按钮。此刻,您的提交按钮是以外的部分,因此您表单中唯一的内容就是您的两个隐藏字段。将您的提交按钮移到表单中,它应该可以工作。

+0

谢谢格雷格,这很好!有一种感觉是简单的。 – Steve