我无法弄清楚如何执行以下操作:
在每个页面(或我希望的每个页面)上,我想放置一个通用的控件小部件(例如思考 - 包含文本框+按钮的搜索功能)。什么是最好的方法,谁处理提交按钮(假设它是一个提交按钮)?
即。我的ViewUserControl是什么样的?它有表格吗?它是否使用jQuery onclick“”?它是否发布到主View的操作方法,还是可以将其重定向到另一个Controller / Action?
我尝试使用包含Form的“Search.ascx”的RenderAction,并由我的SearchController处理......但是在SearchController中,它然后尝试调用RedirectToAction ......我收到有关RedirectActions的投诉儿童行为不允许。
我对下一步该怎么做有点迷失,所以建议非常欢迎! 射线
答案 0 :(得分:1)
您似乎走在了正确的轨道上(使用ViewUserControl
和RenderPartial
)。但是根据您提供的信息,您不容易看到其他问题(RenderAction,...)
很容易:
答案 1 :(得分:0)
显示HTML元素的最佳方法是将它们放在母版页中,或者放在母版页引用的部分页面中。我希望它是自己的形式并提交给您的SearchController。
如果您想了解更多详情,请告诉我。
答案 2 :(得分:0)
RenderPartial是去这里的方式。您的control.ascx将包含它的表单和提交按钮。
答案 3 :(得分:0)
最好的方法是什么
可能是部分观点。 .ascx文件。
和谁处理提交按钮 (假设它是一个提交按钮)?
部分视图
我的ViewUserControl看起来如何 喜欢?它有表格吗?
是的,它有一个表格。它应尽可能自包含。
它是否使用jQuery onclick“”?可以 发布到主View的动作方法, 或者我可以将其重定向到另一个 控制器/动作?
嗯,最适合你的确切场景。它应该发布到最适合的行动。这不太可能是主视图的操作,因为partial在不同的父视图中重用。
我尝试过使用Ren的RenderAction “Search.ascx”包含一个表格, 并由我的处理 SearchController ......但是在 SearchController,然后尝试 调用RedirectToAction ......我得到了一个 关于RedirectActions的投诉没有 允许儿童行动。
您可能希望在父视图中使用RenderPartial渲染它:
<%: Html.RenderPartial("MyPartialView.ascx") %>
答案 4 :(得分:0)
好的,我弄清楚我的问题是什么。上面的回复是正确的。我有自己的Search.ascx用户控件和SearchController,我也使用了RenderPartial,但是让我感到困惑的是我忘了明确指定控制器/动作......所以我在onclick事件和Url.Action上摆弄我而不是按钮。
<% using (Html.BeginForm("MySearchAction", "MySearchController")) { %>
感谢所有回复的人。