我只想在其中添加 formIdbeginForm()
如果我尝试使用
Html.BeginForm(null, null, FormMethod.Post, new {@id="Id"})
那么生成的Html是
<form action="/newquestion/payment/b9f88f80-f31f-4144-9066-55384c9f1cfc" ... >
我不知道该操作网址是如何生成的,所以我尝试了,
Html.BeginForm(new {@id="Id"})
但操作网址看起来像这样
<form action="/newquestion/payment/Id... >
在这两种情况下,操作 url 都不是它应该的样子,并且没有命中控制器的后操作。
当您尝试生成路线时,例如使用BeginForm
,MVC会尽力包含你可能需要的东西。
如果你在domain.com/Home/Index/b9f88f80-f31f-4144-9066-55384c9f1cfc
并且您使用您提供的代码,然后将使用找到的操作、控制器和路由值生成表单。
controller / action / id
/Home / Index / b9f88f80-f31f-4144-9066-55384c9f1cfc
解决这个问题的一种方法是强制id什么都没有(例如空字符串)。
Observe:
@using (Html.BeginForm(null, null, new { @id = string.Empty },
FormMethod.Post, new { @id = "Id" }))
{
}
The new { @id = string.Empty }
是表示路由值的匿名对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)