【问题标题】:Data being sent as query string instead of Form data数据作为查询字符串而不是表单数据发送
【发布时间】:2012-11-01 19:19:05
【问题描述】:

在我的表单中,我看到数据是作为 Querystring 而不是表单数据(我期望的)发送的。

我的页面:

@using (Html.BeginForm("AAForm", "Test", FormMethod.Post, new { id = "myAForm" }))
{
   <label for="a">A</label>
   <input id="aid" name="aname" style="width: 300px" required validationMessage="Select"/>
   <button type="submit" class="btn btn-primary" value="aa" > Go </button>
   }

控制器签名

public ActionResult GetValues(FormCollection formCollection){ //一些代码 }

我正在对 GetValues() 进行 AJAX 调用。

我可能做错了什么?如果我应该发布更多信息,请告诉我。

另一个问题:查询字符串中的“_:”是什么?它有一些随机数值。

谢谢。

【问题讨论】:

    标签: asp.net-mvc form-data


    【解决方案1】:

    ActionResult 上添加[HttpPost] 属性。

    【讨论】:

    • 好的,我添加了属性并将ajax类型修改为“POST”并且它工作了。谢谢你的提示。但是,我想补充一点,未经任何修改的相同代码在 FireFox (13.0.1) 上运行,而不在 Chrome (版本 22.0.1229.94 m) 上运行。奇怪!
    • 知道我在查询字符串中看到的“_:”参数是什么(它只存在于 Chrome 中)吗?
    • @rjv_rnjn 它可能是一个时间戳,如果您没有在 Ajax 查询中将缓存设置为 false...请参阅 codeproject.com/Tips/223710/JQuery-Ajax-Cache-Problems-on-IE ,即使它在 IE 上,而不是在 chrome 上!
    • 抱歉回复晚了。我将全局 ajax 缓存设置为 false(以解决我面临的 IE 问题)。带有查询字符串localhost:54069/AllWebsites/… 的 URL _=1352131959972 我的问题是关于我突出显示的最后一个参数。我正在使用 kendo 下拉菜单,并且过滤器值由 kendo 发送。 {我不知道如何停止自动缩短网址}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    相关资源
    最近更新 更多