私は私のaspxにこれを持っています:
<div class="col2-input" id="Launch-Height-value">
<input type="hidden" name="Launch-Height" id="Launch-Height" value="<%: Model.LaunchHeight %>" />
<%: Html.TextBoxFor(model => model.LaunchHeight) %>
</div>
<div class="col3">
<div id="save-launch-height">
<a href="javascript:saveLaunchHeight();" class="button">Save</a>
</div>
</div>
saveLaunchHeight:
function saveLaunchHeight() {
$("#Launch-Height").val($("#Launch-Height").val());
updateSaveButtons();
var jqxhr = $.getJSON("<%= Url.Action("UpdateLaunchHeight", "Scorm", new { area = "Admin" }) %>?scormModuleId=<%: Model.ScormModuleId %>&value=" + $("#Launch-Height").val(), function (data) {
alert($("#Launch-Height").val($("#Launch-Height").val()));
});
}
次に、SaveButtons を更新します。
function updateSaveButtons() {
if ($("#LaunchWidth").val() != $("#PassScoreHidden").val())
$("#save-pass-score-button").show();
}
ビューで、幅の値を変更して保存をクリックすると、html.textboxfor が更新されますが、それだけです...
次に、コントローラーの httpget
[HttpGet]
[NoCache]
public JsonResult UpdateLaunchWidth(int scormModuleId, short value)
{
if (value > 0)
{
var module = ZincService.ScormService.GetScormModule(scormModuleId);
if (module != null)
{
try
{
module.LaunchWidth = value;
ZincService.ScormService.UpdateScormModuleSettings(module);
ZincService.SaveChanges();
return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
Logger.Error(ex, "Error setting new value for LaunchWidth property for scorm module with Id " + scormModuleId);
return Json(new { success = false }, JsonRequestBehavior.AllowGet);
}
}
else
return Json(new { success = false }, JsonRequestBehavior.AllowGet);
}
else
return Json(new { success = false }, JsonRequestBehavior.AllowGet);
}
これは私の新しい値を保存しません。私はこのコードを書いていないので、それがどのように機能するかについてあまり変更することはできません.. html.textboxfor で値を取得できれば... 助けてください。
ありがとう