我有一个javascript如下
$('#MessageContent').replaceWith("Hi there"); //just sets value to Hi There
$('body').delegate('#MessageDesc', 'change', function () {
var sMessageTypeID = $("#MessageDesc").val();
$.get('@Url.Action("GetMessageContent")', { MessageTypeID: sMessageTypeID }, function (data) {
$('#MessageContent').replaceWith(data); //should replace hi there with a value
});
});
它应该将名为“MessageContent”的文本框中的内容替换为要返回的内容。
我的控制器操作看起来像这样
public ActionResult GetMessageContent(long MessageTypeID)
{
tblMessageType tblMessageType = db.tblMessageTypes.Single(t => t.MessageTypeID == MessageTypeID);
return View(tblMessageType.MessageContent);
}
我已经验证tblMessageType.MessageConent中的值看起来不错!我很确定问题出在Controller中,而不是JavaScript。
答案 0 :(得分:0)
首先,请确保调用您的控制器操作,然后尝试返回简单的JsonResult
。
这样的事情:
public JsonResult GetMessageContent(long MessageTypeID)
{
tblMessageType tblMessageType = db.tblMessageTypes.Single(t => t.MessageTypeID == MessageTypeID);
return Json(tblMessageType.MessageContent, JsonRequestBehavior.AllowGet);
}
尝试替换此行:
$('#MessageContent').replaceWith(data);
这一个:
$('#MessageContent').text(data);
或
$('#MessageContent').val(data);
答案 1 :(得分:0)
您的帖子中没有足够的信息来提供确凿的答案,但请尝试以下方法: