gpt4 book ai didi

asp.net - 使用 RenderPartialToString 时显示模型状态错误的问题

转载 作者:行者123 更新时间:2023-12-05 02:25:11 24 4
gpt4 key购买 nike

我正在使用以下代码:

public string RenderPartialToString(ControllerContext context, string partialViewName, ViewDataDictionary viewData, TempDataDictionary tempData)
{
ViewEngineResult result = ViewEngines.Engines.FindPartialView(context, partialViewName);

if (result.View != null)
{
StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
using (HtmlTextWriter output = new HtmlTextWriter(sw))
{
ViewContext viewContext = new ViewContext(context, result.View, viewData, tempData, output);
result.View.Render(viewContext, output);
}
}

return sb.ToString();
}

return String.Empty;
}

通过JSON返回局部 View 和表单。它可以正常工作,但是一旦我收到模型状态错误,我的 ValidationSummary 就不会显示。 JSON 仅返回默认表单,但不会突出显示验证错误或显示验证摘要。

我错过了什么吗?

这就是我调用 RenderPartialToString 的方式:

string partialView = RenderPartialToString(this.ControllerContext, "~/Areas/User/Views/Account/ChangeAccountDetails.ascx", new ViewDataDictionary(avd), new TempDataDictionary());

最佳答案

在这个问题上花了太多时间后,我发现不应将 ModelState 项添加到 viewContext.Controller.ViewData.ModelState 中,而应将其添加到 viewContext.ViewData.ModelState。进行此更改后,将呈现 ModelState 错误。

关于asp.net - 使用 RenderPartialToString 时显示模型状态错误的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2740149/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com