gpt4 book ai didi

c# - 模型出现在查询字符串中的 MVC 问题

转载 作者:太空宇宙 更新时间:2023-11-03 15:12:24 25 4
gpt4 key购买 nike

我构建了一个 MVC 5 应用程序,可以从 DLL 动态加载子应用程序。一切都按预期工作,但在此过程中的某个地方,我注意到尽管使用了 Post,但我的模型开始出现在查询字符串中。

他们是这样出现的:

http://localhost:64921/Access/LookupUser?PageModel=AccessChecker.App.Models.UserLookup

虽然我希望它们看起来像这样:

http://localhost:64921/Access/LookupUser

不幸的是,这不得不暂时搁置在另一个项目中,我现在才重新开始。我知道在我放下它之前,我试图重建应用程序的很大一部分来试图解决这个问题,但没有找到它的原因。

因为我的路由是动态生成的,所以我无法显示代码片段,但这里是路由 URL 值(在运行时按顺序排列):

"__browserLink/requestData/{requestId}"

""

"api/{controller}/{id}"

"{resource}.axd/{*pathInfo}"

"{controller}/{action}/{id}"

"CAS/{controller}/{action}/{id}"

"App1/{controller}/{action}/{id}"

"App2/{controller}/{action}/{id}"

"App3/{controller}/{action}/{id}"

"Access/{controller}/{action}/{id}"

我的 Controller Action 是这样的:

    public ActionResult LookupUser(UserLookup LookupModel, FormCollection FormData)
{
UserLookup UL = null;
...
return View(UL);
}

View 中的表单如下所示:

@using (Html.BeginForm("LookupUser", Application.ApplicationPrefix, new { PageModel = Model }, FormMethod.Post, new { id = "LookupArea", @class = (Model.Memberships.Count > 0 ? "LoadedWithContent" : ""), role = "form" }))
{
...
<input type="submit" id="Submit_btn" value="Lookup" />
...
}

除许多其他尝试外,我还尝试删除默认路由,将“{controller}/{action}/{id}”移到末尾,删除无关的路由,删除“, FormCollection FormData”等等我早已忘记的事情。进入 Global.asax.cs 中的 Application_BeginRequest 的 URL 上有模型。

我还重写或扩展了 MVC 框架的重要部分,以启用来自 DLL 的动态内容、安全检查或错误重定向,因此它可能与其中的某些部分有关,或者它可能是一些简单的东西,比如表单参数或路线顺序(即使我试图检查)。

任何关于在何处缩小查找范围的指导或关于可能导致这种情况的原因的见解都将不胜感激。

最佳答案

Stephen 的上述建议纠正了我的问题(主要是看到森林中的树木)。

关于c# - 模型出现在查询字符串中的 MVC 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40534678/

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