MVC部分视图不会进入HttpPost

时间:2016-04-15 22:17:52

标签: ajax asp.net-mvc asp.net-mvc-4

我目前正在MVC的一个网站上工作,在我的页脚底部,我有一个文本框,其中包含一个注册简报的按钮。我为这个文本框创建了一个局部视图。按钮。我想点击提交按钮立即转到HttpPost并跳过HttpGet。

NewsletterController:

cat - concatenate files and print on the standard output

NewsletterModel:

    [HttpPost]
    public ActionResult AddNewsletterEmail(string email)
    {
        // Logic
    }

_Layout.cshml:

    [Key]
    public int EmailID { get; set; }

    [Required]
    public string Email { get; set; }

AddNewsletterEmail.cshtml(部分视图):

<div class="subs-social-options">
                    <div class="row custom-row-footer">
                        <div class="col-md-6 custom-col-options">
                                @Html.Partial("~/Views/Newslett/AddNewsletterEmail.cshtml");
                        </div>
                        <div class="col-md-6">
                            <div class="right-side">
                                <div class="widget widget-footer social-icons">
                                    <h2>Get Social with Us</h2>
                                    <ul>
                                        <li><a href="https://www.facebook.com/" target="_blank"><i class="fa fa-facebook"></i></a></li>
                                        <li><a href="https://www.twitter.com/" target="_blank"><i class="fa fa-twitter"></i></a></li>
                                        <li><a href="https://www.linkedin.com/" target="_blank"><i class="fa fa-linkedin"></i></a></li>
                                        <li><a href="https://plus.google.com/" target="_blank"><i class="fa fa-google-plus"></i></a></li>
                                        <li><a href="https://www.youtube.com/" target="_blank"><i class="fa fa-youtube-play"></i></a></li>
                                        <li><a href="https://www.flickr.com/" target="_blank"><i class="fa fa-flickr"></i></a></li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

我一直在寻找解决方案的几个小时,但没有任何工作,所以任何帮助都表示赞赏。谢谢你的时间!

问候,Vexena

1 个答案:

答案 0 :(得分:0)

解决方案:

@using (Ajax.BeginForm("AddNewsletterEmail", "Newsletter", new AjaxOptions() { UpdateTargetId = "email", HttpMethod = "Post"}))

我所要做的就是将 NewsletterController更改为Newsletter 以便修复它(我认为Ajax.Beginform已经将Controller附加到规定的重载?)纠正我我是&#39; f我&#39 ;我错了。

特别感谢来自asp.net论坛的Nataraj