Asp.net mvc 如何更改mvc3中编码的提交按钮文本?
我有一个mvc应用程序,我有一个表单,它接受输入,当我点击submit时,它将值更新到数据库中Asp.net mvc 如何更改mvc3中编码的提交按钮文本?,asp.net-mvc,asp.net-mvc-3,model-view-controller,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,我有一个mvc应用程序,我有一个表单,它接受输入,当我点击submit时,它将值更新到数据库中 View code: @model Mapping.Models.SecurityIdentifierMappingViewModel @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Mapping</legend>
View code:
@model Mapping.Models.SecurityIdentifierMappingViewModel
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Mapping</legend>
<div class="editor-label">
@Html.Label("Pricing SecurityID")
</div>
<div class="editor-field">
@Html.HiddenFor(model => model.MappingControls.Id)
@Html.DropDownListFor(model => model.MappingControls.PricingSecurityID,
new SelectList(Model.PricingSecurities, "Value", "Text"),
"Select SecurityID"
)
@Html.ValidationMessageFor(model => model.MappingControls.PricingSecurityID)
</div>
<div class="editor-label">
@Html.Label("CUSIP ID")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.MappingControls.CUSIP,
new SelectList(Model.CUSIPs, "Value", "Text"),
"Select CUSIP"
)
@Html.ValidationMessageFor(model => model.MappingControls.CUSIP)
</div>
<div class="editor-label">
@Html.Label("Calculation")
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.MappingControls.Calculation)
@Html.ValidationMessageFor(model => model.MappingControls.Calculation)
</div>
<p>
<input type="submit" value="Insert" />
</p>
</fieldset>
}
您可以为“提交”按钮提供一个id:
<input id="btn-submit" type="submit" value="Insert" />
现在,由于您的编辑锚似乎在服务器上调用不同的操作,并且除非您使用AJAX,否则整个页面可能会重新加载,因此使用usnig javascript设置提交按钮文本可能不是一个好主意。在这种情况下,正确的处理方法是让“编辑控制器”操作在视图模型上设置一些属性,这将指示我们处于编辑模式,并允许在“提交”按钮文本上设置条件
大概是这样的:
<input type="submit" value="@(Model.IsEditing ? "Update" : "Insert")" />
您可以在编辑操作中将视图模型上的IsEdit属性设置为true。我应该在哪里编写此代码:$('btn submit').val('Update');我在webgrid中也有delete,那么我如何比较呢?是的,工作很好,但正如您所说,会发生以下情况:(对于1秒,更改为“更新”再次变为“插入”要做什么?使用视图模型,并让编辑操作在视图模型上设置一个属性,这将允许视图设置正确的按钮文本。请参阅我的更新答案。gr8但webgrid也有相同的“提交”按钮上的“删除”,也需要执行上述操作?这将取决于您需要什么o删除记录后显示为按钮文本。
grid.Column(
"",
header: null,
format:
@<text>
@Html.ActionLink(
"Edit",
"Index",
new { uid = (int)item.id, userAction = "Edit" },
new { @class = "edit" }
)
@Html.ActionLink(
"Delete",
"Index",
new { uid = (int)item.id, userAction="Delete" },
new { @class = "Delete" }
)
</text>
)
$(function() {
...
$('.edit').click(function() {
$('#btn-submit').val('Update');
...
});
});
<input type="submit" value="@(Model.IsEditing ? "Update" : "Insert")" />