加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET MVC 3的jquery ajax表单

发布时间:2020-12-15 23:05:10 所属栏目:asp.Net 来源:网络整理
导读:这可能是一个容易的问题,但对我来说现在不清楚,我必须把事情排除在我的头上…也许有人可以帮助我与= = … 我知道MVC带有Ajax助手. 我知道有微软库,还有jquery. 我知道,使用MVC 3,他们引入了不引人注目的JavaScript,它为HTML添加了一些特殊的标签… 但ist如何
这可能是一个容易的问题,但对我来说现在不清楚,我必须把事情排除在我的头上…也许有人可以帮助我与= = …

我知道MVC带有Ajax助手.
我知道有微软库,还有jquery.
我知道,使用MVC 3,他们引入了不引人注目的JavaScript,它为HTML添加了一些特殊的标签…

但ist如何一起玩?

示例:我想发布一个远程表单(部分视图)每个ajax添加评论到博客文章.没有发布整个页面.

在我的部分视图中,我会使用Ajax.BeginForm()这是MvcAjax还是Jquery?
或者我将使用Html.BeginForm()并在窗体的点击事件上注册$.post.如果javascript被禁用或不支持,这也将有一个简单的html的回退….

或者一般来说,什么时候使用什么来发布评论到博客文章?我假设它是正确的,我发布到评论控制台的创建动作,我将使用JsonModelBinder将其转换为模型.之后,我会返回Json,并将其附加到我的评论列表…

这是合理的吗?

解决方法

Ajax.BeginForm() is this then MvcAjax or Jquery?

默认情况下是jquery.您需要引用jquery.unobtrusive-ajax.js脚本才能使其工作.

Or would I use Html.BeginForm() and register something like $.post on the click event of the Form.

这是另一种选择.就我个人而言

I assume that it is correct,that I am posting to the create action of the commentscontroller and I would use the JsonModelBinder to transform it to a model. After that I would return Json and would append it to my comments list…

JsonModelBinder已经在ASP.NET MVC 3中引入,它允许您将JSON字符串发送到将被映射回视图模型的控制器操作.例如,如果您有以下视图模型:

public class PersonViewModel
{
    public string Name { get; set; }
    public int Age { get; set; }
}

并采取以下行动:

public ActionResult Foo(PersonViewModel person) 
{
    ...    
}

在AJAX中调用它的传统方式是:

$.ajax({
    url: '@Url.Action("foo")',type: 'POST',data: { name: 'john',age: 20 },success: function(result) {
        // TODO:
    }
});

并且在ASP.NET MVC 3中,您可以发送一个JSON作为请求参数,该参数将绑定到PersonViewModel操作参数:

$.ajax({
    url: '@Url.Action("foo")',contentType: 'application/json',data: JSON.stringify({ name: 'john',age: 20 }),success: function(result) {
        // TODO:
    }
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读