视图之间的链接

时间:2012-06-25 19:19:11

标签: asp.net-mvc

我有2个视图,一个名为PostToPalPal,如下所示,还有DomainConfirmationView。在DomainConfirmationView上,我有一个链接到PostToPayPal的按钮,然后通过帖子事件重定向到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" 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>

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: 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);
            }

1 个答案:

答案 0 :(得分:1)

本节:

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

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