当前位置: 首页 > 面试题库 >

适用于ASP.NET MVC 3的jquery ajax表单

祝高阳
2023-03-14
问题内容

这可能是一个简单的问题,但对我来说目前还不清楚,我必须把事情整理好……也许有人可以帮我解决这个问题)。

我知道AVC附带了MVC。我知道有Microsoft库,还有jquery。我知道,在MVC
3中,他们引入了不引人注目的javascript,它为html添加了一些特殊标签以进行清理…

但是ist如何一起玩?

示例:我想为每个ajax发布一个远程表单(局部视图)以向博客文章添加评论。而不回发整个页面。

在我的局部视图中,我将使用Ajax.BeginForm()MvcAjax还是Jquery?还是我会Html.BeginForm()在表单的click事件上使用并注册$
.post之类的东西。如果禁用了javascript或不支持javascript,这也将是纯HTML的备用…。

还是一般来说,什么时候使用什么来向博客文章中发布评论?…并且我认为这是正确的,我要发布到commentscontroller的create动作,并且我将使用JsonModelBinder将其转换为模型。之后,我将返回Json并将其添加到我的评论列表中…

这是合理的原因吗?


问题答案:

那么Ajax.BeginForm()是MvcAjax还是Jquery?

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

还是我将使用Html.BeginForm()并在Form的click事件上注册类似$ .post之类的东西。

那是另一种选择。我个人就是这么做的。

我认为这是正确的,我要发布到commentscontroller的create动作,并且我将使用JsonModelBinder将其转换为模型。之后,我将返回Json并将其添加到我的评论列表中…

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作为请求参数,该参数将绑定到PersonViewModelaction参数:

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


 类似资料:
  • 直到几天前,我的应用程序运行良好,直到我在输出中收到一条消息,建议我添加以下行: 对于Xamarin组件存储,该组件称为Xamarin。谷歌。网间网操作系统。MobileAds已不存在,但您必须安装Firebase AdMob for iOS。 问题是,该示例仅适用于natve iOS项目。我有一个Xamarin表单项目,在主项目中有一个通用视图 并在项目中针对每个平台进行了实施。对于iOS,是:

  • 我试图在wordpress中使用AMP与表单动作。我使用action-xhr与POST方法。 当我提交表单时,它会给出错误信息 响应必须包含AMP-访问-控制-允许-源-起源头 表单提交失败:错误:响应必须包含AMP-访问-控制-允许-源-源头 甚至尝试添加标题,如下所示 这个问题仍然存在。有什么建议吗? 我使用的是wordpress版本5.0.3

  • 问题内容: 我有一个正则表达式:。如果可以的话,可以在浏览器控制台中正常工作。 在Node.js中执行时会抛出同一行代码。 我想匹配字符串中包含的所有变量,如果用和括起来,则忽略它们。 问题答案: 您可以使用此正则表达式(可能需要稍作更改,具体取决于您是要检测行的开始/结束还是这些类型的工具)。我在内的值周围添加了一个补偿组,因为此正则表达式还将匹配之前和之后的char 。 如果您可以放置在字符串

  • 我正在尝试实现一个类似问题的系统。这些问题应该根据数据属性“投票”重新排序。因此,每次从套接字接收到like事件时,都会调用sort函数。当一个问题第一次被喜欢时,所有的事情都很好,列表也被排序了。但它会停止排序。我已经检查了数据值。 下面是我的js功能:

  • 问题内容: 嗨,我只是简单地尝试在www.example.com上获取h1标签,该标签显示为“ Example Domain”。该代码适用于http://www.example.com,但不适用于https://www.exmaple.com。我该如何解决这个问题?谢谢 问题答案: PhantomJSDriver不支持(所有)DesiredCapabilities。 你会需要: 记录在这里:htt

  • 所以我使用这种方法写入文件,它在windows上运行完全正常,但在mac上运行时,它会创建文件,但它们是空的。 我知道数据是正确的,因为它打印正确。感谢您的任何帮助,这真的让我绊倒了。