gpt4 book ai didi

c# - 从 asp.net mvc 站点中的外部站点获取帖子响应

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:01 25 4
gpt4 key购买 nike

也许我问了一个简单的问题,但我知道了:)

我有一个站点(称为 SenderSite)和一个接收方站点(称为 ReceiverSite)。他们托管的是互联网上的不同主机服务器。 SenderSite是用asp.net写的,ReceiverSite是用asp.net mvc写的。

我在浏览器中打开 SenderSite。我有带有数据和文本框的表单,我可以在其中编写接受响应的 url 站点(例如,www.example.com/TestMethod)。当我单击发送时,请求将发送到接收方站点。 mvc 方法应该如何接收发布数据。

我这样写:

[HttpPost]
public void TestMethod()
{

}

我应该为这个方法写一些参数吗?我什么时候拿它,我可以把它写在一页纸上吗?

谢谢!

最佳答案

您可以创建一个对象,即 SentModel,然后确保来自发送站点的名称字段与对象中的属性相匹配。

举个例子:

public class SentModel
{
public string Input1 { get; set; }
public string Intput2 { get; set; }
}

[HttpPost]
public void TestMethod(SendModel model)
{
model.Input1.ToString();
}

然后在你的aspx页面中:

<form method="post" action="http://www.example.com/Controller/TestMethod" id="form1">
<div>
<asp:textbox runat="server" id="Input1" ClientIDMode="Static" />
<asp:textbox runat="server" id="Intput2" ClientIDMode="Static" />
<input type="submit" value="submit" />
</div>
</form>

因为您不能轻易地将 Name 属性设置为 Id,您还需要使用一些 jQuery 来重命名字段作为解决方法:

 $.each($('div').children(), function() {
$(this).attr("name",$(this).attr("id"));
});

以上内容具有强类型对象的优势,您可以从中提取属性。您还可以向对象添加数据注释以控制对操作的验证。

另一种选择是在 Controller 操作中包含表单名称参数:

[HttpPost]
public void TestMethod(string Input1, string Input2)
{
Input1.ToString();
}

这有将所有参数添加到方法的缺点,如果添加/删除属性,您的方法需要更改。

最后一个选项只是将其作为 Request.Form["Input1"] 从请求中提取。

关于c# - 从 asp.net mvc 站点中的外部站点获取帖子响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29028359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com