我遇到了ActionResult方法的一些问题。在我的系统中,我有一个非常简单的公共方法,它返回一个HTML div消息,如下所示:
public static string DivMsg(string message) {
string divMsg = string.Empty;
divMsg = "<div id='error-message'>";
divMsg = string.Format("{0}<p>{1}</p>", divMsg, message);
divMsg += "</div>";
return divMsg;
}
将字符串返回放在ViewBag中,如下所示:
ViewBag.DivMsg = Base.Utilities.DivMsg("Some message here.");
Viewbag位于我的_Default.cshtml文件中,靠近@RenderBody()命令,这在任何与其关联的View的ActionResult方法中都可以正常工作。
但是当我没有ActionResult方法的View时,就像这样:
public ActionResult Integrity(int? id) {
Product obj = repositoryProduct.Find(id);
if (obj != null)
{
ViewBag.DivMsg = Base.Utilities.DivMsg("Product found.");
return RedirectToAction("Index", "Products");
}
else
{
ViewBag.DivMsg = Base.Utilities.DivMsg("Product not found.");
return RedirectToAction("Index", "Products");
}
}
我的页面上未显示HTML消息。我的项目中没有一个名为“Integrity”的视图,我使用这个结构的原因是因为我从我的索引中用JQuery调用这个方法,并在按钮上有一点加载动画,它触发了需要的方法消息返回后中断,如下所示:
$(document).ready(function () {
$('.btnIntegration').on('click', function () {
var $btn = $(this).button('loading');
var idProduct = $(this).data('id');
$.ajax({
url: '/Products/Integrity/' + idProduct,
success: function (data) {
$btn.button('reset');
},
error: function (data) {
$btn.button('reset');
}
});
})
});
任何人都可以帮我这个吗? PS:对不起我的英语不好,这不是我的第一语言。