Html.BeginForm 部分用于不同的控制器
我有以下代码:
<% using (Html.BeginForm("AddComment", "Comments", FormMethod.Post)) { %>
<div id="New_Comment">
<textarea name="newComment" id="newComment">Add comments</textarea>
<input type="submit" value="Add" />
<div><span class="text_grey">Attach:</span><a href="#" class="link_text_grey">File</a> <a href="#" class="link_text_grey">Link</a></div>
</div>
<%} %>
这是由 MyPage 控制器呈现的部分代码。由于某种原因,表单上的操作显示为空白,如果我引用 MyPage 控制器上的方法,它可以正常工作,我想要做的是使用我的表单指向不同的控制器。
I have the following code:
<% using (Html.BeginForm("AddComment", "Comments", FormMethod.Post)) { %>
<div id="New_Comment">
<textarea name="newComment" id="newComment">Add comments</textarea>
<input type="submit" value="Add" />
<div><span class="text_grey">Attach:</span><a href="#" class="link_text_grey">File</a> <a href="#" class="link_text_grey">Link</a></div>
</div>
<%} %>
This is in a partial rendered by the MyPage controller. For some reason the action on the form comes out blank, if I reference a method on the MyPage controller it works fine what I want to do is point to a different controller with my form.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为了解决这个问题,我简单地添加了一个区域路由值,如下所示:
用空字符串将路由引导到默认区域。
To solve this issue I simple added in an area route value like so:
With the empty string directing the route to the default area.
1) 您的“评论”操作是否被标记为 POST 操作?
2)也
尝试只是做:
我知道你所拥有的和我建议的之间不应该有区别,但值得一试。
1) Is your "Comments" action marked as being a POST action?
2) Also
Try just doing:
I know that there shouldn't be difference between what you have and what I suggest, but it's worth a try.