asp.net-mvc – 在MVC视图中,如果在表单标记中没有指定,则调用哪
发布时间:2020-12-16 06:39:15 所属栏目:asp.Net 来源:网络整理
导读:我有一个继承的MVC项目.在视图上,BeginForm标记中没有指定路由(控制器和操作).视图呈现正确,因此我假设它正在选择默认路由. 我的问题是,如果没有指定路线,它是如何知道使用的路线?这里的最佳做法是:您是指定路线还是让它默认? 所以视图是Views / Config /
我有一个继承的MVC项目.在视图上,BeginForm标记中没有指定路由(控制器和操作).视图呈现正确,因此我假设它正在选择默认路由.
我的问题是,如果没有指定路线,它是如何知道使用的路线?这里的最佳做法是:您是指定路线还是让它默认? 所以视图是Views / Config / WorkCodes.cshtml,标签是 Html.BeginForm() 它进入控制器ConfigController.cs并调用操作WorkCodes().如果我正在做这个项目,我会写的 Html.BeginForm("WorkCodes","Config",FormMethod.Post) MVC如何知道使用哪个控制器和操作而不指定它? WorkCodes.cshtml @{ ViewBag.Title = "Work Codes"; } @using (Html.BeginForm()) { <div> <table style="width: 100%;" class="trHoverHighlight"> <tbody> <tr> <td> <br /> <div> <button id="buttonCreateNew" type="button">Add New</button> <button id="buttonReturn" type="button">Return</button> </div> </td> </tr> </tbody> </table> </div> } ConfigController.cs public ActionResult WorkCodes() { return View(Rep.GetWorkAll(true)); } 这是从另一个视图中调用视图的位置: @foreach (var itm in (List<string>)ViewBag.ListObjects) { <li> <a href="../Config/@itm">Work Codes</a> </li> } 解决方法
View是从执行HTTP GET到WorkCodes控制器操作生成的,因此默认情况下,在该视图中生成的表单会对具有相同名称的控制器操作执行HTTP POST.
Here’s the MSDN docs.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 检查是否在IIS中托管Asp.Net(Core)应用程序
- asp.net页面间传值的五种方法
- asp.net – 如何访问嵌套母版页中的控件?为什么它与内容页
- asp.net-mvc-3 – ASP.NET MVC DropDownListFor从模型中选择
- asp.net – “HttpContext.Current”属性和相关事物的交叉线
- ASP.NET MVC – 用于编辑的ViewModels
- asp.net – 在webrequest上停止了应用程序池
- asp.net-mvc – 获取当前用户的角色
- asp.net – 如何从Control继承而不是UserControl?
- asp.net – DropDownList SelectedIndex值未在AutoPostback
推荐文章
站长推荐
热点阅读