首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC Ajax.BeginForm

MVC Ajax.BeginForm
EN

Stack Overflow用户
提问于 2010-10-29 15:37:45
回答 1查看 654关注 0票数 0

我有一个如下所示的ajax表单:

代码语言:javascript
复制
    <% using (Ajax.BeginForm("Comments", "Comments", null, new AjaxOptions {UpdateTargetId="main", OnSuccess="createSuccess" }, new{ @id="main"})) {%>
    <%: Html.ValidationSummary(true, "errors") %>

    <fieldset>
        <legend>Fields</legend>

        <div class="editor-label">
            <%: Html.LabelFor(model => model.Body) %>
        </div>
        <div class="editor-field">
            <%: Html.TextBoxFor(model => model.Body) %>
            <%: Html.ValidationMessageFor(model => model.Body) %>
        </div>

        <div class="editor-label">
            <%: Html.LabelFor(model => model.Name) %>
        </div>
        <div class="editor-field">
            <%: Html.TextBoxFor(model => model.Name) %>
            <%: Html.ValidationMessageFor(model => model.Name) %>
        </div>

        <p>
            <input type="submit" value="Submit" />
        </p>
    </fieldset>

<% } %>

<div id="Success" style="display:none;">
    New entry successfully entered
</div>

<script type="text/javascript">
function createSuccess(context)
{
    if ($(".validation-summary-errors").length > 0) {
        return;
    }

    $('#main').clearForm()
    $('#Success').show();
}

这是检查表单是否已成功提交的正确方式吗?如果验证摘要的类名发生了变化怎么办?有没有更好的方法?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-31 23:51:55

你绝对是在正确的轨道上。需要知道的重要一点是,为了填充服务器端验证消息,您需要Comments操作返回包含上面表单的部分,因为当ajax调用返回时,它将用操作的结果替换任何具有id="main“(您的表单)的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4049929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档