Html.BeginForm中的ASP.NET MVC 1 .. Ajax.BeginForm。如何发布而不停止和启动Html表单?

时间:2010-10-29 14:18:54

标签: asp.net-mvc ajax

例如......

<% using (Html.BeginForm()) { %>
<%= html.textBox(Model.IwantThisField)%>

<%using (Ajax.BeginForm("ActionName", new AjaxOptions { fancy ajax options })) %>
   <%{%>
     <label for="stringVar">This is sent to Action</label>
     <input type ="submit" id="button" />
   <%}%>

<%= html.textBox(Model.IalsoWantThisField) %>
<input type="submit" id="mainBtn"/> 
<% } %

>

我将提供所需的更多信息。这让我在Fridat的一个下午难过,这一点都没什么好玩的。任何帮助非常感谢!

1 个答案:

答案 0 :(得分:2)

您无法在表单中嵌套表单。你想达到什么目的? 您可以删除Ajax.BeginForm,将输入从提交类型更改为按钮,然后使用JQuery捕获按钮单击并使用$ .post发出ajax请求。

<% using (Html.BeginForm()) { %>
<%= html.textBox(Model.IwantThisField)%>

     <label for="stringVar">This is sent to Action</label>
     <input type ="buttom" id="button" />


<%= html.textBox(Model.IalsoWantThisField) %>
<input type="submit" id="mainBtn"/> 
<% } %

<script type="text/javascript">
$(function()
{
    $('#button').click(function(){
        var value = $('#stringVar').val();
        var data = {stringVar: value};
        $.post('Your action URL',data,function(data){
             //On complete Ajax request javascript.
        });
        return false;
    });
});
</script>