ASP.NET 表单发送期间模型的 MVC 集 属性
ASP.NET MVC Set property of model during form send
我在 ASP.NET MVC 表单上有 2 个提交按钮:
@using (Html.BeginForm("ApplicationDriverForm", "ApplicationDriver", routeValues: new { CompanyUniqueString = Model.CompanyUniqueString }, method: FormMethod.Post, htmlAttributes: new { id="appForm1", name="appForm1" }))
{
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" name="btnSave" id="btnSave" value="Save - but don't send" class="btn btn-default" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" name="btnSend" id="btnSend" value="Send" class="btn btn-default" />
</div>
</div>
我想为其中一个模型 属性 设置不同的参数。我尝试使用以下方式进行操作:
<script type="text/javascript">
jQuery(document).ready(function () {
$('btnSave').on('click', function () {
ev.preventDefault();
$('input[id=@Html.IdFor(model=>model.Status)]').val('@Domain.StaticStrings.ApplicationDriverStatusStrings.Processing');
if ($(this).valid())
$('#appForm1').submit();
});
$('btnSend').on('click', function () {
ev.preventDefault();
$('input[id=@Html.IdFor(model=>model.Status)]').val('@Domain.StaticStrings.ApplicationDriverStatusStrings.Submit');
if ($(this).valid())
$('#appForm1').submit();
});
});
</script>
但什么也没发生,根本没有调用这些函数,正在发送状态为空的表单 属性。为什么?
将输入类型更改为 button
而不是 submit
如果您希望阻止表单提交,请完成工作然后提交。
您还缺少 JQuery id 选择器前的“#”,例如应该是'#btnSave
'。
您正在调用 ev.preventDefault()
,但是 ev
是未定义的,因为您的处理函数没有将事件作为参数。将其更改为:
$('btnSave').on('click', function (ev) {
和
$('btnSend').on('click', function (ev) {
我在 ASP.NET MVC 表单上有 2 个提交按钮:
@using (Html.BeginForm("ApplicationDriverForm", "ApplicationDriver", routeValues: new { CompanyUniqueString = Model.CompanyUniqueString }, method: FormMethod.Post, htmlAttributes: new { id="appForm1", name="appForm1" }))
{
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" name="btnSave" id="btnSave" value="Save - but don't send" class="btn btn-default" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" name="btnSend" id="btnSend" value="Send" class="btn btn-default" />
</div>
</div>
我想为其中一个模型 属性 设置不同的参数。我尝试使用以下方式进行操作:
<script type="text/javascript">
jQuery(document).ready(function () {
$('btnSave').on('click', function () {
ev.preventDefault();
$('input[id=@Html.IdFor(model=>model.Status)]').val('@Domain.StaticStrings.ApplicationDriverStatusStrings.Processing');
if ($(this).valid())
$('#appForm1').submit();
});
$('btnSend').on('click', function () {
ev.preventDefault();
$('input[id=@Html.IdFor(model=>model.Status)]').val('@Domain.StaticStrings.ApplicationDriverStatusStrings.Submit');
if ($(this).valid())
$('#appForm1').submit();
});
});
</script>
但什么也没发生,根本没有调用这些函数,正在发送状态为空的表单 属性。为什么?
将输入类型更改为 button
而不是 submit
如果您希望阻止表单提交,请完成工作然后提交。
您还缺少 JQuery id 选择器前的“#”,例如应该是'#btnSave
'。
您正在调用 ev.preventDefault()
,但是 ev
是未定义的,因为您的处理函数没有将事件作为参数。将其更改为:
$('btnSave').on('click', function (ev) {
和
$('btnSend').on('click', function (ev) {