ASP.net razor ::如何发送联系表单并且不刷新页面

时间:2012-01-27 20:51:34

标签: asp.net-mvc razor

我正在使用ASP.net Razor c#制作我的网页,我需要避免刷新所有页面,因为我只使用一个布局来制作所有网页,如果我在提交时进行回复表单我将获得默认页面。

我使用iframe工作,效果很好。但我想制作类似Pagemethods的东西(一位朋友告诉我......他知道更多......)。

也许它与ASP.net相同,但是,我只有3天的网络开发经验,而且我的所有这些首字母缩略词让我头疼。谢谢!

这是我的联系表单,我现在用iFrame称呼它:

@{  
 var result = "";


 if(IsPost){           

        if(Request["mail"].IsEmpty())
        {          
            ModelState.AddError("correo", "*error insert mail");
        }           

        }else{
        var message = "<p>Your message:</p>";           
        message += "Mensaje: " + Request["mensaje"] + "<br />";           
        WebMail.Send(
                to: Request["mail"],
                subject: "New message",
                body: message,
                isBodyHtml: true
                );
        result = "Done";
    }
    }else{
        //In action I call the iframe                
    <form id="contacto" action="@Href("~/Contacto1")" method="post">                    
   .
   .
   .

    </form>  
    }
    }

2 个答案:

答案 0 :(得分:2)

你有点不对劲,试着用jQuery做。

在ajax中发布表单并呈现返回的视图,这是一篇博客文章,其中展示了如何执行此操作http://bob-the-janitor.blogspot.com/2011/11/more-ajax-with-mvc-using-partial-views.html,我正在开发一个专门处理在ajax上发布表单并使用模型的文章基于返回视图的验证

答案 1 :(得分:2)

像Bob一样,Janitor说,你必须熟悉jQuery方法$ .post和$ .ajax等等。他们肯定会让您创造无缝体验。链接到ajax上的jQuery文档:http://api.jquery.com/jQuery.ajax/