繁体   English   中英

如何从ASP.NET Web APi中的Body传递参数信息?

[英]how to pass Parameters Info from the Body in ASP.NET Web APi?

我试图通过我的POST方法从实际身体传递一个冗长的字符串,如果我通过url传递它完全正常,但我不知道要改变什么,所以我可以从身体插入数据。

public void PostMethod(string id, [FromBody]string data)
    {
        if (ModelState.IsValid)
        {
            var result = client.Store(StoreMode.Add, id, data);
        }
        else
        {
        }

    }

如果我像这样使用它:

http://localhost:8888/api/data?id=2&data=MybigString

它工作得很好,但我不想从URL传递数据,任何建议都将受到高度赞赏。

在此输入图像描述

给定您的action方法,即public void PostMethod(string id, [FromBody]string data) ,您可以使用http://localhost:8888/api/data/2的URI和=MyBigString的消息体。 如果你使用jQuery,你可以使用这样的东西: $.post('api/data/2', { '': 'MyBigString' }); 确保发送正确的邮件正文。

编辑:

在此输入图像描述

使用隐藏字段并在帖子之前设置它的值。 只需确保它在您的表单中。

@Html.HiddenFor(Model.data)

使用jQuery在javascript中设置值:

$("#data").val('my big string');

或者,如果您没有绑定到强类型视图,则可以使用简单的HTML隐藏输入而不是@Html.HiddenFor()

<input type="hidden" id="data" name="data" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM