ASP.NET POST 如何传参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET POST 如何传参数相关的知识,希望对你有一定的参考价值。
简单传送示例:1 <form id="form2" method="post" runat="server">
2 <div>
3 你的名字<asp:TextBox ID="name2" runat="server"></asp:TextBox><br />
4 <br />
5 你的网站<asp:TextBox ID="website2" runat="server"></asp:TextBox><br />
6 <br />
7 <br />
8 <asp:Button ID="Button2" runat="server" Text="send" /><br />
9 <br />
10 <br />
11 学习request 和 response的用法<br />
12 <br />
13 <br />
14 </div>
15 </form>
简单接收示例:
1 protected void Page_Load(object sender, EventArgs e)
2
3 string id2 = Request.Form["name2"];
4 string website2 = Request.Form["website2"];
5 Response.Write(id2 + "<br>" + website2);
6 Response.Write("你使用的是" + Request.RequestType + "方式传送数据");
7
8 参考技术A
第一条就是错误的。
GET和POST都是向服务器发送请求的方式。事实上还有其他的方式。
两者都通过键值对的方式向服务器发送请求并接受响应。
GET确实是通过URL的方式发送数据,1楼说2KB,2楼说255。255肯定是不止的,那么有没有2KB,资料上确实是如此,实际嘛,我没有验证过。
POST在IIS5中为100KB这句话也不准确,2K3以后,在IIS的默认值确实是100KB,不过可以在配置文件中修改。否则的话你们怎么上传大图片甚至视频?而且别忘记还有Apache等其他网络服务器。
安全性,对于普通用户来说,确实,好像,仿佛POST比GET更安全,但是作为和网络安全有点关系的人员,GET和POST没有谁更安全之说。不过你依然还是可以冠冕堂皇的说POST比GET相对更安全些。
如何使用 vba 将参数传递给 asp.net web api?
【中文标题】如何使用 vba 将参数传递给 asp.net web api?【英文标题】:How to pass a parameter using vba to an asp.net web api? 【发布时间】:2021-09-25 12:35:24 【问题描述】:我正在尝试使用 vba 发布到 web api。问题是web api中的参数是空白的。 web api是用asp编写的。我从 c# 调用了 api,它可以工作,但我无法在 vba 中工作。
这是对 api 的 vba 调用:
Sub Test()
Dim http As New MSXML2.XMLHTTP60
http.Open "POST", "http://10.5.72.172:108/api/vbaemail", True
http.SetRequestHeader "Content-type", "application/json"
Call http.send("abc")
End Sub
这是我的简单网络 API。
public void Post([FromBody] string strJson)
SqlConnection cnnCom = null;
SqlCommand cmdCom = null;
string strSql = null;
//write parameter to table
cnnCom = new SqlConnection(CF.Get_Connection_String(CF.DatabaseName.COMMON));
cnnCom.Open();
strSql =
"INSERT INTO Test( " +
"F1) " +
"VALUES( " +
"'" + strJson + "')";
cmdCom = new SqlCommand(strSql, cnnCom);
cmdCom.ExecuteNonQuery();
cnnCom.Dispose();
这是对 web api 的有效 c# 调用:
static void Main(string[] args)
HttpClient hc = new HttpClient();
Task<HttpResponseMessage> task1 = null;
//call web api
task1 = hc.PostAsJsonAsync<string>
("http://10.5.72.172:108/api/vbaemail", "abc");
【问题讨论】:
看看这是否适合你gist.github.com/six519/5ed917850f402b94ee6b 我在那个链接上看不到任何 vba 代码 你怎么看不到任何vb代码?你能在这里检查一次吗gist.githubusercontent.com/six519/5ed917850f402b94ee6b/raw/… 这能回答你的问题吗? Pass Parameters in VBA HTTP Post Request 那是 vb.net 不是 vba。 【参考方案1】:http.Open "POST", "http://10.5.72.172:108/api/vbaemail", True
改为 True 设置为 False
【讨论】:
(为了其他读者方便,True表示异步,False表示同步) 同样的事情,传递给web api的参数是空白的,我在发送命令期间也得到“操作中止”。【参考方案2】:我能够通过用单引号括住字符串来使其工作。问题是我不能在传递给 web api 的正文中的任何地方使用单引号,尽管可能有一种方法可以逃避它们。在我们的例子中,这没什么大不了的,我们只是在尝试修补一些最终会消失的旧 vba 程序。
Sub Test()
Dim http As New MSXML2.XMLHTTP60
http.Open "POST", "http://10.5.72.172:108/api/vbaemail", True
http.SetRequestHeader "Content-type", "application/json"
Call http.send("'" + strJson + "'")
End Sub
【讨论】:
以上是关于ASP.NET POST 如何传参数的主要内容,如果未能解决你的问题,请参考以下文章
模型在使用 C# 将 POST 方法作为参数传递给 ASP.NET MVC 中同一控制器的 GET 方法时获取 NULL
如何通过asp.net schtasks将参数传递给bat文件
asp.net(vs2008 c# 中) 如何在跳转的页面传递参数?
如何将多个参数传递给 ASP.NET Core 中的 get 方法