标签: form-post

Asp.Net MVC 4自动绑定表单中对象数组的模型

我在JavaScript中构建了一个对象数组,并希望通过Ajax将它们发布回服务器(我使用jQuery)

JavaScript对象数组如下所示:

var columns = [
    { name: 'col 1', source: 'whatever', hidden: false, width: 50 },
    ...
];
Run Code Online (Sandbox Code Playgroud)

我发布回来像这样:

$.post('/MyController/MyAction', { 'columns': columns });
Run Code Online (Sandbox Code Playgroud)

在控制器操作我目前得到这个:

在此输入图像描述

我有一个ac#object叫JqColumn我想绑定帖子,它看起来像这样:

public class JqGridColumn
{
    public string name;
    public string source;
    public int width;
    public bool hidden;
}
Run Code Online (Sandbox Code Playgroud)

所以我认为在类型的控制器动作中添加一个参数JqGridColumn[] columns会自动绑定发布的数据,但它不会(它生成一个数组,具有正确的元素数,但数组中的每个项都有空值)

谁能告诉我我做错了什么?谢谢!

UPDATE

目前,我手动绑定控制器操作中的项目如下:

    public void ColumnChooser(JqGridColumn[] columns)
    {
        for (int i = 0; i < columns.Length; i++)
        {
            columns[i].hidden = bool.Parse(Request.Form["columns[" + i + "][hidden]"]);
            columns[i].width = int.Parse(Request.Form["columns[" + i …
Run Code Online (Sandbox Code Playgroud)

javascript arrays asp.net-mvc form-post model-binding

7
推荐指数
1
解决办法
9849
查看次数

在ASP.Net Core中发布表单数据时出现400状态错误

我正在开发一个ASP.Net Core 2.0应用程序并在Linux/Nginx/Kestrel上运行它.

在开发环境(Windows 10)上,一切运行顺利.此外,在项目目录中使用"dotnet run"运行应用程序时.

在生产环境(Debian 8/Kestrel)上,所有表单POST都失败并显示HTTP状态码400(错误请求),而不会在控制台中提示任何错误,而表单GET请求运行正常.控制台中会提示所有其他消息(警告,错误).我正在使用"dotnet .dll"运行应用程序.

有人能指出我解决问题的方向吗?

form-post http-status-code-400 asp.net-core

7
推荐指数
0
解决办法
1441
查看次数

仅通过 URL 提交网络表单?

我不太确定这属于这里,所以不要投反对票,只是让我知道是否是这样,我会很快继续前进。

无论如何,有一个网站有一个搜索页面,当点击搜索按钮时,它不会在 URL 中包含搜索查询。

搜索某些内容后,页面将重定向到ssearch.asp,但如上所述,查询不存在。

我的问题是是否有一种方法可以仅通过 URL 提交搜索值。

我想知道是否有办法伪造搜索提交按钮并根据表单字段名称通过 URL 发布搜索词。

输入框的名称是search,所以我尝试了这个网址:http://www.torec.net/ssearch.asp?search=query,但是不起作用,服务器返回:

服务器错误。

需要明确的是,我不是在寻找服务器端解决方案,实际上也不是在寻找 HTML 解决方案,我只是希望能够将普通的旧 URL 粘贴到浏览器地址栏中并在那里。

这可能吗?

更新

此链接无效:
http://www.torec.net/ssearch.asp? search=dark&page=1

虽然这个是这样的:
http ://www.torec.net/ssearch.asp?search=dark&page=2

有办法绕过这个吗?

forms url http-post form-post url-parameters

6
推荐指数
1
解决办法
2万
查看次数

如何解决 Django POST URL APPEND_SLASH 错误

我正在尝试将表单 POST 数据发送到下一页,但出现错误

您通过 POST 调用了此 URL,但该 URL 不以斜杠结尾,并且您设置了 APPEND_SLASH。Django 在维护 POST 数据时无法重定向到斜杠 URL。将表单更改为指向 127.0.0.1:8000/robustSearch/(注意结尾的斜杠),或在 Django 设置中设置 APPEND_SLASH=False。

我的 urls.py 文件

from django.urls import path
from . import views


urlpatterns = [
    path('', views.home, name='home'),
    path('search_titles', views.searchTitles, name='search_titles'),
    path('stats/', views.dataStats, name='stats'),

    path('robustSearch/', views.robustSearch, name='robustSearch'),
]
Run Code Online (Sandbox Code Playgroud)

和我的views.py 文件

def robustSearch(request):
    
    if request.method == 'POST':
        file = request.FILES['titles_file']
        df = pd.read_csv(file)
        df.dropna(inplace=True)
        counting = df.counts()
    context={
        'counting': counting,
    }
    return render(request, 'result_titles.html', context)
Run Code Online (Sandbox Code Playgroud)

我的 POST 表单文件是

<form action="robustSearch" method="POST" enctype="multipart/form-data">
{% csrf_token …
Run Code Online (Sandbox Code Playgroud)

python django form-post url-pattern

6
推荐指数
1
解决办法
7274
查看次数

如何在 Java HttpURLConnection 中禁用多部分表单发布的缓冲?

(这是一个签名的小程序,我决定不使用 HTTPClient 以保持我的 jar 非常小)

我正在使用 HttpURLConnection 使用多部分表单发布成功将文件从用户上传到服务器。

问题在于 HttpURLConnection 在发送数据之前会缓存数据。因此,当我从文件中读取数据并写入 Outputstream 时,它只是缓冲数据 - 因此显示上传状态的进度条是完全错误的。但请注意,表单邮政代码有效,并且文件确实已正确上传,返回代码为 200。

那么如何确保 HttpURLConnection 不会缓存我发送到服务器的数据?

这是我的来源:

public UploadResponse send(String formPostUrlStr,String fileFieldName,File targetFile, Map<String, String> valuesMap, UploadStatusListener uploadStatusListener) throws Exception{


    String sendStr=getBoundaryMessage(Boundary,  valuesMap, fileFieldName, targetFile.getName(), valuesMap.get("content-type") );//"image/png") ;

    System.out.println(" multi-part start \n "+ sendStr+ " multi-part end \n");

    String lenstr=Long.toString((long)(sendStr.length()*2)+ targetFile.length());
    System.out.println("Content-Length"+ lenstr);
                        //Content-Length

    URL url= new URL(formPostUrlStr);
    long startTime= System.currentTimeMillis();
    HttpURLConnection s3Connection = (HttpURLConnection) url.openConnection();

    System.out.println("opened url to "+ formPostUrlStr +", connection ok ..");
    s3Connection.setRequestProperty("Content-Type", "multipart/form-data; …
Run Code Online (Sandbox Code Playgroud)

java form-post httpurlconnection

5
推荐指数
1
解决办法
2429
查看次数

MVC 4 - Razor - "从客户端检测到一个潜在危险的request.form值"

我的视图中有一个i-Frame链接到外部网站.此站点接受一些值和一些配置设置.这些配置设置的一部分是"CallBackURL".此外部网站发布到此CallBackUrl.

我将CallBackURL指定为对我的控件的操作.

查看代码

<form id="testForm" method="post" target="testFrame">
  <input type="hidden" name="RequestXML" ID="RequestXML" value="<Request><RedirectURL>Account/TokenRequest</RedirectURL></Request>"
</form>

<iframe id="testFrame" name="testFrame" frameborder="0" style="width:1000px;height:500px"></iframe>
Run Code Online (Sandbox Code Playgroud)

控制器代码

  [HttpPost]
  [ValidateInput(false)]
  public ActionResult TokenRequest()
  {
    if (Request.Form["ResponseXML"] != null)
      ViewBag.ResponseXML = Request.Form["ResponseXML"];

    return PartialView();
  }
Run Code Online (Sandbox Code Playgroud)

在我的控制器操作中,我收到以下错误:"从客户端检测到一个潜在危险的request.form值"

我也在webconfig中设置了它

<httpRuntime requestValidationMode="2.0" />
<pages validateRequest="false"...
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑 我正在编辑错误的web.config文件.我将它添加到views文件夹中的web.config.一旦我把它改成了正确的地方,它就开始工作了.

iframe form-post razor asp.net-mvc-4

5
推荐指数
2
解决办法
1万
查看次数

动态形式建筑与knockoutjs

我需要从数据库构建一个动态表单.我有跟随实体来动态定义表单字段:

    public class FormField {
        public int ID { get; set; }
        public string Name { get; set; }
        public string Type { get; set; }    // Possible values are: 'Radio','Combo','Text'. A dropdown will be created for a Combo type of element, a radio set for Radio type of element and a text input for Text type of element.
        public string Options { get; set; } // Only relevant in case of Radio/Combo type
        public string Default { get; set; …
Run Code Online (Sandbox Code Playgroud)

ajax form-post json.net asp.net-mvc-3 knockout.js

5
推荐指数
1
解决办法
6002
查看次数

为什么命名你的HTML表单提交按钮"提交"中断了什么?

在ASP.NET webforms和ASP 3(经典ASP)中,我遇到了一个问题,即命名表单提交按钮"提交"将"破坏".下面是呈现的HTML:

<input type="submit" name="Submit" value="Submit" id="Submit" />
Run Code Online (Sandbox Code Playgroud)

我说"破坏事物"因为我不确定为什么或发生了什么.但症状通常是按下提交按钮有时什么也没做,即它只是没有用.但有时它确实有效.

事实上,我刚刚使用下面的代码构建了一个快速的单页测试,并提交工作正常:

<form id="form1" runat="server">
<div>
    <asp:TextBox ID="txtTest" runat="server" />
    <asp:Button ID="Submit" runat="server" Text="Submit" />
</div>
</form>
Run Code Online (Sandbox Code Playgroud)

但是,在过去,这个问题已经出现,重命名按钮总是使症状消失.

那么,是否有任何HTML/HTTP /浏览器专家知道为什么在提交按钮上设置id ="submit"会导致任何问题?

编辑

这个SO评论似乎暗示"提交"是一个保留的关键字.但为什么"id"或"name"属性会与此相关?这个"保留"关键字如何以导致冲突的方式实现?

再次感谢

html http-post form-post form-submit

4
推荐指数
1
解决办法
4022
查看次数

当我从一个页面发布到另一个页面时,为什么我的 Asp.Net 表单到达时为空?

我有以下 HTML 代码

<%@ Page Language="C#" %>

<html>
    <head>
        <title></title>
    </head>
    <body>
        <form id="frmSystem" method="post" action="target.aspx">
            <input id="txtTextField" type="text" />
            <input id="btnPost" value="Submit" onclick="javascript:frmSystem.submit();" type="button" />
        </form>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

目标页面即将出现,但它正在接收的表单是空的。我的 target.aspx 页面上有一个断点,虽然我可以看到一个表单,但它的键是空的,Request["txtTextField"] 什么也没给我。

任何线索为什么?

c# forms http-post form-post

4
推荐指数
1
解决办法
3840
查看次数

jqGrid tableToGrid"options"参数

基本

大家好,我已经看到tableToGrid方法(由Peter Romianowski)定义为tableToGrid(selector, options)jqGrid wiki,但无法找到任何有文档的options

有谁知道这些或在哪里找到它们?编辑:谢谢奥列格,解决了!

更多

我实际上要做的是将生成的jqGrid包含在a中form,这将提交checkbox表的列中的值.我的问题是该tableToGrid方法似乎是namecheckbox元素中删除属性,因此它们没有与表单发布一起提交.

html checkbox jquery jqgrid form-post

3
推荐指数
1
解决办法
1万
查看次数

从Flash AS3发送Json表单

我有一个表格接受Asp.net中的json帖子,我需要从Flash As3调用...

我正在使用下面的代码来做到这一点.我看过一些他们说工作正常的帖子.但我遇到下面的错误

Error: Error #2101: The String passed to URLVariables.decode() must be a URL-encoded query string containing name/value pairs.

这是我的代码.

        var messages:Array = new Array ();


        messages.push({"From":fromemailTxt.text,"To": ToemailTxt.text,"Body": BodyText.text,"Subject":SubjectText.text});

        var JsonObj:String = JSON.encode(messages);
        trace(JsonObj);

        var variables:URLVariables=new URLVariables(JsonObj);



        RequestURL= srvStringURL;

        var JSONLoader:URLLoader = new URLLoader();
        JSONLoader.dataFormat=URLLoaderDataFormat.TEXT;

        JSONLoader.addEventListener(IOErrorEvent.IO_ERROR, GetBookmarkURLError, false, 0, true);
        JSONLoader.addEventListener(Event.COMPLETE, parseBookmarkURLResult, false, 0, true);


        var hdr:URLRequestHeader = new URLRequestHeader("Content-type", "application/json");

        var request:URLRequest = new URLRequest(RequestURL);
        request.requestHeaders.push(hdr);
        request.data=variables;
        request.method = URLRequestMethod.POST;

        try 
        {
            JSONLoader.load(request);
        }
        catch (error:ArgumentError) 
        { 
            trace("An …
Run Code Online (Sandbox Code Playgroud)

flash json form-post actionscript-3

2
推荐指数
1
解决办法
6930
查看次数

将带有"+"的字符串值发布到操作会将值替换为空格

我已经对表单值的操作执行了HTTP POST:

名称= 123 + 456

但在我的行动中,它通过以下方式实现:

123 456

因此模型绑定器用空格替换"+".

[HttpPost]
public JsonResult MyAction(string name)
{
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?我是否必须创建自定义模型绑定器?

编辑:

这是在jquery中发布如下:

$.ajax({
...
data: "name=" + $('#signin-username').val()
...
});
Run Code Online (Sandbox Code Playgroud)

我应该使用JSON.stringify或类似的东西吗?或者我必须手动编码?

.net c# asp.net-mvc form-post asp.net-mvc-4

2
推荐指数
1
解决办法
82
查看次数

ASP.NET:在搜索表单的操作页面中读取表单变量值

我有一个网站,我想实现搜索功能.所以我添加了下面的代码,在我的HTML页面中有一个搜索框

   <form id="search" method="post" action="Results.aspx">
    <input id="txtSearchKey" type="text" name="txtSearchKey" />
    <input id="Submit1" type="submit" value="submit" /><br />
    <br />
</form>
Run Code Online (Sandbox Code Playgroud)

在Results.aspx中,我想读取用户在txtSearchKey文本框中输入的值.这样做的理想方法是什么?我用了

 string strKey = Request.Form["txtSearchKey"].ToString(); 
Run Code Online (Sandbox Code Playgroud)

但它抛出一个空引用异常.请指教

我不希望在ASP.NET中拥有所有页面.我希望只有结果页面作为ASP.NET

提前致谢

asp.net search form-post

0
推荐指数
1
解决办法
7977
查看次数