表单数据在子域内的 MVC 应用程序中始终 ASP.NET 为空



我有两个 Asp.Net MVC网站。第一个位于根域domain.com内,第二个是子域sub.domain.com

在根域内一切正常,但我在向子域上的控制器提交表单时遇到问题。无论我尝试发送什么,似乎都无法到达控制器。

这可能看起来很奇怪,但是当我尝试在调试模式下本地启动应用程序时,不会发生此问题。(本地不是子域,只是普通的本地主机(。

仅出于测试目的,我构建了一个简单的模型:

public class TestModel
{
public string test_text { get; set; }
}

这是CSHTML部分视图:

@using (Html.BeginForm("TryModel", "Home", new { }, FormMethod.Post, new { }))
{
<input type="text" name="test_text" />
<button type="submit">Test</button>
}

即使使用这种简单的配置,在我的本地副本上我也没有问题,但是一旦我在远程计算机上启动应用程序,发布的数据始终为空。

您认为可能是什么问题?

编辑

这是控制器方法

[HttpGet]
public ActionResult TryModel()
{
return View();
}
[HttpPost]
public ActionResult TryModel(TestModel model)
{
// code removed
return View(model);
}

是的,正确调用了该操作。甚至 Request.Form 也是空的。

Html.BeginForm 只需要 4 个参数,

参数:字符串操作名称、字符串控制器名称表单方法方法对象 html 属性

您应该更改您的参数 从:

@using (Html.BeginForm("TryModel", "Home", new { }, FormMethod.Post, new { }))

自:

@using (Html.BeginForm("TryModel", "Home", FormMethod.Post, new { }))

我希望它会有所帮助。

最新更新