【问题标题】:ASP.NET MVC partial view parameter from jquery来自 jquery 的 ASP.NET MVC 部分视图参数
【发布时间】:2015-09-07 06:17:24
【问题描述】:

我正在研究项目的位置检测器模块

使用 jQuery 检测经纬度,有一个按钮可以将 ajax 表单提交给操作,该操作返回部分视图。

如何向动作发送自动参数并获取局部视图

我用过

document.getElementById("fmDis").submit();

但它会在 url 中创建 ?length=4

我正在使用带有隐藏值的 ajax 表单

using (Ajax.BeginForm("DistanceFound", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "partial" }, new { id = "fmDis" }))
{
    <input type="hidden" id="lat" name="lat" />
    <input type="hidden" id="lon" name="lon" />
    <input type="submit" />
}

【问题讨论】:

  • 您是否想将纬度和经度添加为路线值,而不是使用隐藏输入
  • 不,我只想在应用程序打开时提交自动和部分视图显示
  • stackoverflow.com/a/20180627/1138165 这个帖子可能会有所帮助

标签: jquery asp.net ajax asp.net-mvc partial-views


【解决方案1】:

您使用了错误的 Ajax.BeginForm 重载,其中第二个参数 ("Home") 被添加为路由值。必须是this one

using (Ajax.BeginForm("DistanceFound", "Home", null, new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "partial" }, new { id = "fmDis" }))

请注意,您的隐藏输入没有 value 属性,所以我假设您在提交表单之前在脚本中设置它们的值

【讨论】:

  • 问题是当我打开页面时,它会显示按钮点击按钮然后表单提交但我需要它自动没有按钮
  • 对不起,我不明白你的评论。 - 我的回答是解决您收到?length=4 的原因
  • 现在正如你所说我使用空值现在我的部分视图在新窗口中打开
  • 那是因为您没有包含jquery.unobtrusive-ajax.js(或者包含的脚本顺序错误或复制了它们)
  • @RenderSection("script", required: false) 这里是jqueery的顺序
猜你喜欢
  • 1970-01-01
  • 2011-03-31
  • 1970-01-01
  • 2015-01-11
  • 2010-11-06
  • 1970-01-01
  • 2021-12-02
  • 2011-06-26
  • 1970-01-01
相关资源
最近更新 更多