ActionResult没有返回动态HTML

时间:2015-05-11 15:29:53

标签: c# return-type actionresult

我遇到了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:对不起我的英语不好,这不是我的第一语言。

0 个答案:

没有答案