我的视图中有模态窗口,按钮显示。
模态窗口的视图是部分视图
以下是部分视图的代码
<script src="~/Scripts/jquery-3.1.1.js"></script>
<script src="~/Scripts/jquery-ui-1.12.1.js"></script>
<div>
<div class="form-group" style="text-align:center;padding-bottom: 20px; padding-top: 10px;">
<input type="text" class="form-control" id="question", placeholder="Вопрос" />
</div>
<div class="form-group" style="text-align:center;padding-bottom: 20px; padding-top: 10px;">
<input type="text" class="form-control" id="answer" , placeholder="Время на ответ" />
</div>
<div class="form-group" style="text-align:center;padding-bottom: 20px; padding-top: 10px;">
<input type="text" class="form-control" id="prepare" , placeholder="Время на подготовку" />
</div>
<div class="form-group" style="text-align:center;padding-bottom: 20px; padding-top: 10px;">
<input type="text" class="form-control" id="retries" , placeholder="Попытки" />
</div>
<div class="form-group" style="text-align:center">
<input type="button" id="save_quest" value="Создать" class="btn btn-default" style="margin-right: 40px;" />
</div>
</div>
<script>
$(document).ready(function () {
$('#save_quest').click(function () {
save();
});
});
function save() {
$.ajax({
type: 'Post',
dataType: 'Json',
data: {
Question_new: $('#question').val(),
Answer: $('#answer').val(),
Preparing: $('#prepare').val(),
Retries: $('#retries').val(),
},
url: '@Url.Action("CreateNewQuestion", "Questions")',
success: function (da) {
if (da.Result === "Success") {
window.location.href = da.RedirectUrl;
} else {
alert('Error' + da.Message);
}
},
error: function (da) {
alert('Error');
}
});
}
</script>
我需要填写数据并在保存按钮上写表,所以在Controller上我有这个代码
[HttpPost]
public ActionResult CreateNewQuestion(string Question_new, string Answer, string Preparing, string Retries)
{
Question quest = new Question
{
question = Question_new,
TimeForAnswer = Answer,
TimeForReady = Preparing,
Retries = Retries,
};
db.Questions.Add(quest);
db.SaveChanges();
return Json(new { Result = "Success", Message = "Saved Successfully"});
}
但是当我点击保存按钮时,我收到错误。
参数字典包含方法'System.Web.Mvc.ActionResult索引(System.String,System.String,System.String,System)的非可空类型'System.Int32'的参数'id'的空条目'SmartSolutions.Controllers.QuestionsController'中的.String,System.String,System.String,System.String,System.String,System.String,System.String,Int32)'。可选参数必须是引用类型,可空类型,或者声明为可选参数。 参数名称:参数
当我在Post方法上设置断点时,它不会命中。
为什么这样呢?它必须在我运行Post方法
时生成id