将 MVC 中的 Getting Model 对象发布到 jQuery 变量
Issue Getting Model object in MVC to jQuery variable
我正在尝试将视图中的 MVC 模型对象传递给控制器操作方法以访问我的数据库.........我要将该元素添加到数据库中的位置......... 但我不确定如何将该模型对象放入 jQuery 变量中......我已经尝试了两种方法来做到这一点...... ..
var modelDataJSON = @Model;
var modelDataJSON = @Html.Raw(Json.Encode(Model));
这两种方式都给我一个语法错误…………
这是我的 jQuery 函数的样子:
$('#submit').click(function () {
var modelDataJSON = @Model;
@*var modelDataJSON = @Html.Raw(Json.Encode(Model));*@
$.ajax({
type: "POST",
url: '@Url.Action("AddDoctor")',
data: {"doctor" : modelDataJSON},
success: function (data) {
alert(JSON.stringify(data.Message));
},
error: function () {
alert("Error!!!");
}
});
return false;
});
这是我的表单的样子:
@using (Html.BeginForm("AddDoctor", "Doctor"))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4></h4>
<hr />
@Html.ValidationSummary(true)
<div class="form-group">
@*@Html.LabelFor(model => model.UserId, new { @class = "col-sm-2 control-label" })*@
<label class="col-sm-2 control-label"> User ID</label>
<div class="col-md-10">
@Html.TextBoxFor(model => model.UserId, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.UserId)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
</div>
</div>
<div class="form-group">
@*@Html.LabelFor(model => model.DoctorSpecialityId, new { @class = "col-sm-2 control-label" })*@
<label class="col-sm-2 control-label"> Doctor Speciality ID</label>
<div class="col-md-10">
@Html.TextBoxFor(model => model.DoctorSpecialityId, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.DoctorSpecialityId)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Charges, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Charges, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Charges)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.PhoneNo, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.PhoneNo, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.PhoneNo)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.WardId, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.WardId, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.WardId)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-primary" id="submit" />
</div>
</div>
您必须将其用引号引起来才能使其成为字符串:
var JsonModel = '@Html.Raw(Json.Encode(Model))';
alert(JsonModel); // json as string
var model = JSON.parse(JsonModel); // will give json
我正在尝试将视图中的 MVC 模型对象传递给控制器操作方法以访问我的数据库.........我要将该元素添加到数据库中的位置......... 但我不确定如何将该模型对象放入 jQuery 变量中......我已经尝试了两种方法来做到这一点...... ..
var modelDataJSON = @Model;
var modelDataJSON = @Html.Raw(Json.Encode(Model));
这两种方式都给我一个语法错误………… 这是我的 jQuery 函数的样子:
$('#submit').click(function () {
var modelDataJSON = @Model;
@*var modelDataJSON = @Html.Raw(Json.Encode(Model));*@
$.ajax({
type: "POST",
url: '@Url.Action("AddDoctor")',
data: {"doctor" : modelDataJSON},
success: function (data) {
alert(JSON.stringify(data.Message));
},
error: function () {
alert("Error!!!");
}
});
return false;
});
这是我的表单的样子:
@using (Html.BeginForm("AddDoctor", "Doctor"))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4></h4>
<hr />
@Html.ValidationSummary(true)
<div class="form-group">
@*@Html.LabelFor(model => model.UserId, new { @class = "col-sm-2 control-label" })*@
<label class="col-sm-2 control-label"> User ID</label>
<div class="col-md-10">
@Html.TextBoxFor(model => model.UserId, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.UserId)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Name, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Name)
</div>
</div>
<div class="form-group">
@*@Html.LabelFor(model => model.DoctorSpecialityId, new { @class = "col-sm-2 control-label" })*@
<label class="col-sm-2 control-label"> Doctor Speciality ID</label>
<div class="col-md-10">
@Html.TextBoxFor(model => model.DoctorSpecialityId, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.DoctorSpecialityId)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.Charges, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Charges, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.Charges)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.PhoneNo, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.PhoneNo, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.PhoneNo)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.WardId, new { @class = "col-sm-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.WardId, new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.WardId)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-primary" id="submit" />
</div>
</div>
您必须将其用引号引起来才能使其成为字符串:
var JsonModel = '@Html.Raw(Json.Encode(Model))';
alert(JsonModel); // json as string
var model = JSON.parse(JsonModel); // will give json