Asp.net mvc ViewData未显示在Ajax.BeginForm中

Asp.net mvc ViewData未显示在Ajax.BeginForm中,asp.net-mvc,asp.net-mvc-3,razor,Asp.net Mvc,Asp.net Mvc 3,Razor,我创建了一个局部视图,在其中我使用了AJAx.BeginForm。在“编辑后动作”方法中,我像这样添加VIEWDATA if (ModelState.IsValid) { service.SaveAccount(account); TempData["message"] = "Account has been updated successfully!"; AccountInfo accou

我创建了一个局部视图,在其中我使用了AJAx.BeginForm。在“编辑后动作”方法中,我像这样添加VIEWDATA

        if (ModelState.IsValid)
        {
            service.SaveAccount(account);
            TempData["message"] = "Account has been updated successfully!";

            AccountInfo accountInfo = new AccountInfo();
            accountInfo.AccountStatuses = service.GetAccountStatuses();
            accountInfo.AccountTypes = service.GetAccountTypes();
            accountInfo.CreditTerms = service.GetCreditTerms();
            return View("DisputeSubscriber", accountInfo);

        }
        else
        {
            return PartialView("_UpdateAccountDetails", account);
        }
并重定向到相同的局部视图。在局部视图中,我添加了如下内容:

 @if (TempData["message"] != null)
                    {
                        <div class="Message">
                           I am here.
                            @TempData["message"]
                        </div>
                    }
@if(TempData[“message”!=null)
{
我在这里。
@TempData[“消息”]
}
但这条信息并没有显示出来。此消息也在AJAX.BeginForm中。请建议


我是否需要重定向主视图而不是局部视图,或者我缺少了一些内容

您似乎在使用TempData,而不是正在使用的ViewData。您还提到,您正在使用
Ajax.BeginForm
调用此控制器操作。由于这是一个AJAX调用,请确保在AjaxOptions中指定了一个
UpdateTargetId
,以便将生成的部分注入DOM的某个位置:

@using (Html.BeginForm(new AjaxOptions { UpdateTargetId = "foo" }))
{
    ...
}

<div id="foo"></div>
@使用(Html.BeginForm(新的AjaxOptions{UpdateTargetId=“foo”}))
{
...
}

我也使用了UpdateTargetId,但它没有显示div。我看到记录被更新了。我使用了警报,它显示错误警报。“@using(Ajax.BeginForm(“UpdateAccountDetails”、新的AjaxOptions{OnSuccess=“alert('done')”、OnFailure=“alert('Error');“}”)”@DotnetSparrow,当您使用UpdateTargetId时,元素到底更新了吗?我不是说临时数据问题。在部分中放置一些虚拟数据,并确保它首先更新。您能给出一个如何更新targetid>的示例吗?我只是将updateTargetId设置为我想要的divupdate@DotnetSparrow,我的答案有一个例子。在你的例子中,什么值应该设置为foodiv?