如何在Html表单submit中触发WebAPI Post方法?
目前,我有一个Web API控制器,它有一个Post方法如何在Html表单submit中触发WebAPI Post方法?,post,asp.net-web-api,postman,webmethod,html-post,Post,Asp.net Web Api,Postman,Webmethod,Html Post,目前,我有一个Web API控制器,它有一个Post方法[form body],它使用PostMan向数据库进行Post 现在我想做的唯一一件事是,当提交Htmlform='post'时,让WebAPI中的post方法工作,然后让它发布到数据库中。但如何做到这一点呢 大家好,我能回答我自己的问题,只是为了未来的观众,以下是我所做的 使用ajax的Html表单: <form method="post" action="Api/Values/Complex" enctype="applicat
[form body]
,它使用PostMan向数据库进行Post
现在我想做的唯一一件事是,当提交Html
form='post'
时,让WebAPI中的post方法工作,然后让它发布到数据库中。但如何做到这一点呢 大家好,我能回答我自己的问题,只是为了未来的观众,以下是我所做的
使用ajax的Html表单:
<form method="post" action="Api/Values/Complex" enctype="application/x-www-form-urlencoded">
<select id="thisSelect">
<option value="sp18br"> sp18br</option>
<option value="sp18cl"> sp18cl</option>
</select>
<br />
<br />
<input type="submit" value="submit" />
</form>
<script>
$("form").on("submit", function () {
var post = $.post("api/values/complex", { "": $("#thisSelect").val() });
return false;
});
</script>
不过,我相信对HTML表单帖子有一些基本的了解。一篇很好的微软文章(如果有点旧的话)包含了所需的所有步骤。否则,如果你可以发布你的控制器和HTML表单来获得一个具体的答案,这将是很有帮助的,是的,这是我作为帮助参考的文章。它并没有完全起到帮助作用,我应该发布我到目前为止的内容吗?也许它会让你更好地了解我正在努力实现的目标@tlbignerdFormatting for readability。噢,谢谢@Nic3500你给了我一个“-1”,即使我已经尽了最大努力,当我找到答案时,我也发布了它。谢谢大家!@谢谢你,先生!你的链接真的帮了大忙。
[HttpPost]
[ActionName("Complex")]
public HttpResponseMessage Post([FromBody]string value)
{
if (value == "sp18br")
{
string cadena = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\\Users\\azib\\Desktop\\dfb; Extended Properties = dBASE IV; User ID = Admin; Password =";
string select = "Select * from sp18br ";
DataSet myDataSet = new DataSet();
OleDbConnection con = new OleDbConnection(cadena);
OleDbCommand myAccessCommand = new OleDbCommand(select, con);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessCommand);
con.Open();
DataTable dt = new DataTable();
myDataAdapter.Fill(dt);
con.Close();
string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con1 = new SqlConnection(cs))
{
con1.Open();
foreach (DataRow dr1 in dt.Rows)
{
SqlCommand cmd = new SqlCommand("sp_InsertLeafPickup", con1);
cmd.CommandType = CommandType.StoredProcedure;
//Insert stored procedure
cmd.Parameters.AddWithValue("@Address", dr1["PCOMBINED"]);
//cmd.Parameters.AddWithValue("@SeasonType", dr1["PSSSTREET"]);
cmd.Parameters.AddWithValue("@NextPickupdate", dr1["ZST"]);
cmd.ExecuteNonQuery();
}
con.Close();
con1.Close();
}
return Request.CreateResponse(HttpStatusCode.OK, "Ok");
}
if (value == "sp18cl")
{
string cadena1 = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\\Users\\azib\\Desktop\\dfb; Extended Properties = dBASE IV; User ID = Admin; Password =";
string select1 = "Select * from sp18cl ";
DataSet myDataSet1 = new DataSet();
OleDbConnection con2 = new OleDbConnection(cadena1);
OleDbCommand myAccessCommand1 = new OleDbCommand(select1, con2);
OleDbDataAdapter myDataAdapter1 = new OleDbDataAdapter(myAccessCommand1);
con2.Open();
DataTable dt1 = new DataTable();
myDataAdapter1.Fill(dt1);
con2.Close();
string cs1 = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con3 = new SqlConnection(cs1))
{
con3.Open();
foreach (DataRow dr1 in dt1.Rows)
{
SqlCommand cmd = new SqlCommand("sp_InsertLeafPickup", con3);
cmd.CommandType = CommandType.StoredProcedure;
//Insert stored procedure
cmd.Parameters.AddWithValue("@Address", dr1["PCOMBINED"]);
// cmd.Parameters.AddWithValue("@SeasonType", dr1["PSSSTREET"]);
cmd.Parameters.AddWithValue("@NextPickupdate", dr1["ZST"]);
cmd.ExecuteNonQuery();
}
con2.Close();
con3.Close();
}
}
return Request.CreateResponse(HttpStatusCode.OK, "Ok");
}