大家好我不知道这是否可能,这就是为什么我需要建议才能实现这一目标。事情是我想用ajax-beginform而不是模型对象发布javacript对象到控制器。我编码像bellow,但无法找到发布数据的方法,我知道jQuery ajax是一个选项,但我不想在这种情况下使用jQuery ajax发布数据。
HTML
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section scripts{
<script type="text/javascript">
var getValues=function()
{
//alert(1)
var v = {
id: $("#txtid").val(), name: $("#txtName").val()
}
console.log(v)
return v;
}
</script>
}
<h2>Index</h2>
@using (Ajax.BeginForm("postvalue", new AjaxOptions { HttpMethod="POST", OnBegin = "getValues" }))
{
<input type="text" id="txtid" />
<br />
<input type="text" id="txtName" />
<br />
<button type="submit" value="Click" style="width:50px;height:50px">Click</button>
}
位指示
namespace AjaxBeginForm.Controllers
{
public class AjaxBeginFormController : Controller
{
// GET: AjaxBeginForm
public ActionResult Index()
{
return View();
}
public void postvalue(searchValues objsearchValues)
{
}
}
public class searchValues
{
public Int64 id { get; set; }
public string name { get; set; }
}
}
我想将数据发布到控制器并在 objsearchValues 中捕获它们。
答案 0 :(得分:0)
将JS值放在表单中的隐藏字段中,当提交表单时,它会将值传递回控制器。