C# Html.Beginform中post类型的Ajax.Actionlink没有将表单的值发送给controllers post方法吗?
我有一张表格C# Html.Beginform中post类型的Ajax.Actionlink没有将表单的值发送给controllers post方法吗?,c#,ajax,asp.net-mvc,forms,C#,Ajax,Asp.net Mvc,Forms,我有一张表格 <script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")"></script> <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> @using (Html.BeginForm("Index", "Company",Is
<script src="@Url.Content("~/Scripts/jquery-1.8.2.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
@using (Html.BeginForm("Index", "Company",IsPost))
{
<div class="input-block-level">@Html.TextBoxFor(m => m.SearchString)
@Ajax.ActionLink("Submit", "Index", new{@class="btn"},new AjaxOptions {
HttpMethod = "Post",
UpdateTargetId = "partialDiv"
})
</div>
}
<div id="partialDiv"></div>
当在浏览器中单击通过Ajax.Actionlink创建的链接时,我不会在controllers post方法中获得文本框的值。为什么呢?另外,我应该使用Ajax.BeginForm吗?我还没有使用Ajax.BeginForm,有没有关于如何将这个Html.BeginForm转换为Ajax.BeginForm的技巧?您应该使用Ajax.BeginForm,并将提交更改为正常的提交输入:您尝试过在jQuery中发出请求吗
<div class="container">
@Html.TextBoxFor(m => m.Input, new { @id = "myInput"})
<input type="submit" value="Submit" class="submit"/>
</div>
@section scripts{
<script type="text/javascript">
$('.submit').on('click', function() {
var searchValue = $('#myInput').val();
$.ajax({
type: "POST",
dataType: 'json',
url: "/Home/MyMethod",
data: {data: searchValue},
success: function(data) {
console.log();
}
});
});
</script>
}
//Controller
[HttpPost]
public ActionResult MyMethod(string data)
{
//do something
}