【发布时间】:2020-09-23 17:54:49
【问题描述】:
我一直在尝试和搜索以解决这个问题,但无济于事。 我在我的 Razor 文件 (Asp.net MVC) 中使用 Ajax 助手“@Ajax.ActionLink”来更新 html 助手“@Html.EditorFor”控件。当 Ajax 选项“UpdateTargetId”设置为另一个元素(例如 span)时,它可以完美运行,但不适用于 @Html.EditorFor。当应用 Ajax 选项“InsertionMode.ReplaceWith”时,它会将@Html.EditorFor 控件替换为像 span 这样的只读元素。 Ajax 选项“InsertionMode.Replace”不会对@Html.EditorFor 控件应用任何更改。下面的代码示例。感谢您的帮助。
AjaxOptions objOP_Options = new AjaxOptions();
objOP_Options.HttpMethod = "GET";
objOP_Options.UpdateTargetId = ("Cost");
objOP_Options.InsertionMode = InsertionMode.Replace;
<td align="left">
<div class="input-group input-group-sm">
<span class="input-group-addon">
small><span class="glyphicon glyphicon-usd"></span></small>
</span>
@Html.EditorFor(model => model.Cost, new { htmlAttributes = new { @class = "form-
control", @style = "width:75px", @id = "Cost", @onChange =
"totalCost(); format_num(id)" } })
</div>
</td>
<td>
@Ajax.ActionLink("Calc. Cost", "Get_Cost", "ControllerName", new
{
Param1 = Model.Field1,
Param2 = Model.Field2,
Param3 = Model.Field3,
Param4 = Model.Field4
}, objOP_Options)
</td>
<span id="dataCost"></span> //this would work when set as UpdateTargetId
【问题讨论】:
标签: c# asp.net ajax model-view-controller razor