我可以在asp.net中执行此操作,但它不适用于asp.net核心。
我有一个视图广告我称之为JavaScript函数,它接受该视图的模型并调用我的api控制器。
当我在api调用之前设置断点时,我可以看到模型的值和api控制器方法被调用。
但是,控制器收到的模型对象总是为空?
查看
@model InformedWorker.Services.Models.Registration
@inject IJsonHelper Json;
<div class="row" style="display:none" id="divRegistration">
<div class="col-xs-6">
<div class="well">
<div class="form-group">
<label asp-for="EmailAddress" class="control-label"></label>
<input type="text" class="form-control" id="EmailAddress" name="EmailAddress" value="@Model.EmailAddress" required="" title="Please enter you username" placeholder="example@gmail.com">
<span class="help-block"></span>
</div>
<div class="form-group">
<label asp-for="Password" class="control-label">Password</label>
<input type="password" class="form-control" id="Password" name="Password" value="@Model.Password" required="" title="Please enter your password">
<span class="help-block"></span>
</div>
<div class="form-group">
<label asp-for="ConfirmPassword" class="control-label"></label>
<input type="password" class="form-control" id="ConfirmPassword" name="ConfirmPassword" value="@Model.ConfirmPassword" required="" title="Please confirm your password">
</div>
<div id="registerErrorMsg" class="alert alert-error" style="display:none">Invalid registration</div>
<a onclick="RegisterProxy();" class="btn btn-success btn-block">Register</a>
</div>
</div>
<div class="col-xs-6">
<p class="lead">Already Registered?</p>
<p><a onclick="showLogInPage();" class="btn btn-info btn-block">LogIn</a></p>
</div
</div>
<script type="text/javascript">
function RegisterProxy() {
var model = @Html.Raw(Json.Serialize(Model));
Register(model);
}
</script>
我的网站.js
function Register(model){ 试试{
$('#registerErrorMsg').html('');
var uri = '/api/Registration';
$.ajax({
url: uri,
type: 'POST',
contentType: 'application/json',
data: model,
success: function (result) {
alert('success');
}
});
}
catch (err) {
$("#registerErrorMsg").css("display", "block");
$('#registerErrorMsg').html(err);
}
return false;
[Route("api/Registration")]
public class Registration : Controller
{
// POST api/values
[HttpPost]
public void Post([FromBody]Registration value)
{
}
}