- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我创建了一个局部 View ,允许用户输入他们的电子邮件并将其添加到订阅者列表中。最初我将其作为标准帖子使用,一切正常。
但是现在我正试图将此作为一个 ajax 调用,出于某种原因,即使表单正在发布到正确的 Controller ,模型总是以 null 形式通过,我无法弄清楚为什么。
以下是我的观点:
父 View :
@Html.Partial("Shared/Newsletter/NewsletterForm", new NewsletterSubscriber())
部分形式:
@using (Ajax.BeginForm("NewsletterSignUp", "Newsletter", new AjaxOptions { HttpMethod = "POST" }))
{
<input type="text" name="EmailAddress" id="newsletter-email" class="basic-input" placeholder="Email Address">
<button id="submit-newsletter" class="basic-submit">Sign Up</button>
<p id="status"></p>
}
Controller :
[HttpPost]
public ActionResult NewsletterSignUp(NewsletterSubscriber model)
{
if (!ModelState.IsValid)
{
return Content("Please enter a valid e-mail address");
}
// Do logic...
}
型号:
public class NewsletterSubscriber
{
[Required]
[EmailAddress]
[StringLength(300)]
public string EmailAddress { get; set; }
}
脚本:
<script src="/scripts/jquery.validate.min.js"></script>
<script src="/scripts/jquery.validate.unobtrusive.min.js"></script>
<script src="/scripts/jquery.unobtrusive-ajax.min.js"></script>
<script>
$(function() {
$('#submit-newsletter').on('click', function(e) {
e.preventDefault();
$.post('/umbraco/surface/Newsletter/NewsletterSignUp', function (data) {
console.log(data);
$('#status').show().text(data);
});
});
});
</script>
就像我说的,当我单步执行代码时,帖子会命中正确的 Controller ,但模型始终为空。
我哪里错了?
最佳答案
我刚刚意识到我有 ajax 表单为我处理提交,我正试图在另一个脚本中手动发布表单。一旦我删除了额外的脚本,它就起作用了。
(漫长的一天结束了,我错过了这个明显的错误!)
关于c# - 使用 Ajax.BeginForm 发布数据时的空模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30463755/
我有一个呈现两个局部 View 的主视图。主视图包含表单中的两个部分 View 。每个部分 View 还包含表单。所有 3 个 View 共享相同的 View 模型。我想要做的是用主视图封装来自所有
我有一个用于编辑内容的 View ,比如订单。订单有可以任意添加的行项目。所以一个主视图和嵌套的局部 View 。 每个部分都应该有一个 ajax 表单,用于调整每个订单项或其他内容的数量。 因此:
以下有效,但如何将其转换为 Ajax 调用? @using (Html.BeginForm("Login", "Account", new { ReturnUrl = ViewBag.ReturnU
令人惊讶的是,在我检查了所有帖子之后,仍然没有明确的解释(在我看来)在什么情况下应该使用主题数据...... 我知道对于 html.beginform,它将执行回发,将数据发布到 Controller
MVC3中的Html.BeginForm()和Ajax.Beginform()有什么区别。我只是想知道在什么情况下可以使用 Html.BeginForm() 以及在什么情况下可以使用 Ajax.Beg
当我将表单的一部分放在局部 View 中时,除局部 View 中的表单元素外,所有表单部分都将获得无障碍语法。 我发现如何“应用”无障碍语法的唯一方法是在局部 View 中启动另一种形式。 看法: @
我在 ASP.NET MVC 5 中工作。我在使用 Ajax.BeginForm 提交表单期间显示加载程序: @using (Ajax.BeginForm("Filter", "Log", new A
我正在使用TinyMCE editor在我网站的管理面板上,所以我用 [AllowHtml] 装饰模型属性(tinymce 的目标),并在 View 中使用 Html.BeginForm() 。当我提
我对 Ajax.BeginForm 有很长时间的问题,现在是通过互联网和 SO 进行搜索,但大多数解决方案包括 jquery.unobtrusive-ajax.min或编辑 web.config允许
目的 我有一个简单的表格,列出了名称(在部分 View 中),其上方有一个包含这些名称的下拉列表。目的是根据下拉列表中选择的名称过滤表。一旦下拉列表中的选定值发生变化,过滤就应该发生,并且应该只再次渲
我有一个 Ajax.BeginForm 调用,它应该返回一个局部 View ,但将页面重新路由到 Action。关于什么是错的任何想法? 这是我要在其上呈现部分 View 的主页上的代码:
我创建了一个名为 B2b 的区域在我的 ASP.NET MVC 应用程序中,我还创建了一个名为 Shopify 的子文件夹在该区域下: 为了注册Shopify子文件夹,我创建了一个 CustomVie
我有这个代码: @using (Html.BeginForm()) { @Html.ValidationSummary(true, "Login
我想有条件地使用 Html.BeginForm。代码中有2个字段如下 @using (Html.BeginForm("Form1Action", "Form1", FormMethod.Post, n
在VS2008中使用MVC项目模板(开箱即用),我注意到以下几点: 这是指定Register.aspx表单的方式。 选择“注册”按钮而不提供任何帐户信息将显示此信息。帐户创建失败。请更正错误,然后重
这个问题已经有答案了: Update div using ajax.beginform inside asp mvc view (1 个回答) 已关闭 7 年前。 我正在尝试执行 AJax 表单发布,
我在尝试使用 ASP.NET MVC3 的 Ajax.BeginForm 方法时遇到了一个奇怪的问题。表单通过正确的操作属性在页面上正确呈现。但是,当提交表单时,“OnFailure”事件返回“Not
有没有办法让 AjaxBeginForms 忽略某些指定的按钮? 例如我的代码是: @using (Ajax.BeginForm("CreatePost", "Accounts", new AjaxO
我读到this我想知道 Ajax.BeginForm 是否已过时 谢谢 最佳答案 嗯,它并没有过时,但达林在你所链接的问题中强烈反对使用它。 就我个人而言,MVC 2 的客户端解决方案在某些方面感觉像
我正在开发一个 ASP.NET MVC 3 应用程序。我想使用 AJAX.BeginForm。有哪些可以详细研究的资源/教程链接? 最佳答案 试试 Unobtrusive Ajax helpers i
我是一名优秀的程序员,十分优秀!