0

我有 2 个视图,一个名为 PostToPalPal,如下所示和 DomainConfirmationView。在 DomainConfirmationView 我有一个链接到 PostToPayPal 的按钮,然后通过发布事件重定向到贝宝。我遇到的问题是,当我单击此按钮时,它什么也没做。我已经在另一个页面上进行了这项工作,但是我只有@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" action=@ViewBag.actionURL>
    @Html.HiddenFor(model => model.cmd)
    @Html.HiddenFor(model => model.business)
    @Html.HiddenFor(model => model.no_shipping)
    @Html.HiddenFor(model => model.@return)
    @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>

域确认视图

@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: support@xxx.com"
             + "&lt;BR /&gt;&lt;BR /&gt;";

        String Output = Server.HtmlDecode(Input);

            WebMail.SmtpServer = "mail.xxx.com";
            WebMail.SmtpPort = 25;
            WebMail.EnableSsl = false;
            WebMail.UserName = "xxx@xxx.com";
            WebMail.Password = "xxxx";
            WebMail.From = "xx@xxx.com";
            WebMail.Send("xxx@xx.com", "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: support@xxx.com"
             + "&lt;BR /&gt;&lt;BR /&gt;";


        String Outputorder = Server.HtmlDecode(Inputorder);

            WebMail.SmtpServer = "mail.xxx.com";
            WebMail.SmtpPort = 25;
            WebMail.EnableSsl = false;
            WebMail.UserName = "xxx@xx.com";
            WebMail.Password = "xxx";
            WebMail.From = "sales@xx.com";

            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"];
                paypal.@return = 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);
            }
4

1 回答 1

1

本节:

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

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

于 2012-06-30T23:48:27.253 回答