gpt4 book ai didi

c# - ASP MVC - Html.BeginForm 从没有区域的 Controller 的区域内

转载 作者:行者123 更新时间:2023-11-28 04:11:25 25 4
gpt4 key购买 nike

我有一个在 MVC 区域内创建的 View 。从这个 View 中,我想添加一个 Html 表单,该表单在不在任何区域中但仅在我的主 Controller 文件夹中的 Controller 上执行操作。

@using (Html.BeginForm("MyAction", "MyController", FormMethod.Get))
{
<input type="submit" value="TEST" />
}

当我执行这段代码时,它试图在同一区域找到我的 Controller 但失败了,生成了以下 html

<form action="/MyApp/en/MyController/MyMethod" method="get"> 

这实际上适用于其他调用:

http://localhost:18183/MyApp/nl/OtherController/OtherAction

我在没有区域的 Controller 上的 Action 可以在浏览器中像这样到达:

http://localhost:18183/MyController/MyMethod

但是当我以经典方式添加表单时它仍然不起作用:

<form action="/MyController/MyMethod" method="get">

我怎样才能调用这个 Controller ?

最佳答案

您需要为 routeValues 属性指定一个匿名对象:

@using (Html.BeginForm("MyAction", "MyController", new { area = "" }, FormMethod.Get))
{
}

如果您想去不同的区域而不是没有区域,请将空引号修改为您的新区域

有关此重载的文档可在 http://msdn.microsoft.com/en-us/library/dd492933(v=vs.118).aspx 获得

关于c# - ASP MVC - Html.BeginForm 从没有区域的 Controller 的区域内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26253218/

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